C&&C++ 笔试常见关键字
volatile:
防止变量被优化
<1>当读取一个变量时,为提高存取速度,编译器优化时会先把变量读取到一个寄存器中;以后取变量时,就直接从寄存器中取值
<2>用volatile声明的变量表示该变量可能随时发生变化,与该变量有关的运算,直接从变量的地址处取值
static:
<1>默认初始化为0
<2>延长了局部变量的生命周期,程序运行结束时才释放
<3>static修饰的函数只能在当前文件中使用(做大型项目时经常用到)
<4>C++中,静态数据成员和成员函数没有this指针
注:关于<4>的解释
静态变量在程序编译阶段分配内存,this指针的使用必须借助当前对象,而对象是在运行阶段产生,则两者矛盾
extern:
extern这个关键字的真正的作用是引用不在同一个文件中的变量或者函数。
同样在大型项目中经常用到
const:
const修饰的变量为只读模式,只有在定义时可以被赋值
<1>常量指针
int * const p = &a;
p指针是常量,不能重新指向别的变量,可以通过指针改变a的值
<2>指向常量的指针
const int *p = &a;
不能通过指针p修改a,p指针可以指向别的变量
附:C语言关键字: