《C语言深度剖析》笔记之关键字篇

来源:互联网 发布:种植牙的利与弊 知乎 编辑:程序博客网 时间:2024/06/07 19:10

1. static

C语言中的static有两种作用,一种是修饰变量,另外一种是修饰函数。

static修饰的变量,无论全局还是局部,她们的内存均位于静态区,也即整个程序生命周期内,一直存在,但是对于全局变量,对静态变量的使用也是在其定义之后才可以使用。对于局部变量,比如一个函数内的静态变量,每一次调用函数,均使用该变量,且其原来的值仍然可见。

static修饰的函数,则将函数的作用域局限在了本文本中了。


2. 关键字 sizeof:

sizeof不是函数,而是一个关键字。使用示例:

sizeof(int)   sizeof(i);sizeof i 其中 i为  int  i;


3. bool类型:

bool类型,在做 if 判断时,使用 if(bTest) 和 if( !bTest),因为不同的平台下,与语言对TRUE 和FALSE的值的定义不同。


4. switch...case语句:

case语句,其后只能使用整数 或字符型的常量或常量表达式,也即一个整数。

break用于case语句之后,用于跳出switch,与它一起的一个关键字continue,它可是不能用于switch语句,一些编译平台在编译时就会出错。


5. const

const关键字修饰的变量为只读变量,只能初始化时赋值,无法修改。

编译器通常不为const变量分配空间,而是将它们保存在符号表中,它成为了编译期间的值,没有存储与读内存的操作,使用效率也高。


修饰变量: int const i = 2; 或 const int i = 2; int const a[5]={1, 2, 3, 4, 5}; 或 const int  a[5]={1, 2, 3, 4, 5};

const int *p;   int  const  *p;   int * const p;  const int const  *p;等

By Andy  2012-11-25