lionel chang

导航

C语言中几个关键字(inline,volatile,static)

一。inline

inline关键字一般用于定义内联函数,所谓内联函数与一般函数的区别是:

1.内联函数一般比较短小,只有几行代码

2.调用内联函数没有调用一般函数所必需的保护堆栈的开销,调用时直接把它嵌入到调用函数中。

inline与宏定义十分相似,但是必须知道它们之间的区别:调用inline时会进行类型检查,而宏定义是没有类型检查的

二。volatile

volatile在英语中的意思是”易变的“,用它定义的变量在程序编译阶段不做优化,每次都不必须从内存中读取变量的值。

volatile有以下几个方面的应用:

  i.并行设备的硬件寄存器(如:状态寄存器)

 ii。一个中断服务子程序中会访问到的非自动变量

iii。多线程应用中被几个人物共享的变量。

三。static

static比较常用

1.用static定义变量的作用:

      I。限制变量的作用域:只能在变量定义的文件中使用

      II。延长变量的生存期:从程序开始一直到程序结束变量一直存在

     III。初始化变量:如果定义时不显式初始化,变量会被自动初始化为0

2.用static定义函数的作用:

   I。限制函数的作用域:只能在函数定义的文件中使用

   II。延长函数的生存期:从程序开始一直到程序结束函数一直存在




posted on 2012-08-21 15:36  woshizyl  阅读(680)  评论(0编辑  收藏  举报