我们一般在C/C++中几乎不怎么完整的接触这几个关键字,现在工作需要,整理一下:
① auto : 既陌生又熟悉,因为它可以省略,比如 int age; 在局部变量中,age的作用域就是当前局部变量的范围,一旦程序运行 出当前域,则此变量被隐藏或自动释放。故我们一般都不用它。
②static : 静态变量,程序在第一次给它赋值后,即使变量所在函数执行完,它也不会被释放,这就是静态变量,它的生命周期等 同于整个程序的运行周期。
③register : 寄存器型变量:这个关键字要求编译器尽可能的将变量存储在CPU内部寄存器中,而不是通过内存寻址访问,以提 高效率。但是这只是给系统的一个暗示,如果寄存器资源有限,系统也不会满足你的要求。register型变量存取速度 比内存快很多,一般你在一些系统库文件,或诸如单片机官方接口库中使用较多,正常我们能用上较少。
④extern : 外部变量:它属于变量声明,extern int a和int a的区别就是,前者告诉编译器,有一个int类型的变量a定义在其他地 方,如果有调用请去其他文件中查找定义。
转自 : https://blog.csdn.net/FX677588/article/details/52687707