1,、
register:只能修饰局部变量,不能修饰全局变量和函数,请求编译器尽可能地将频繁使用的变量(如,循环变量)存放在CPU寄存器中,所以修饰的变量不能通过取地址获取地址,也省去了cpu从内存中抓取数据的时间,但修饰的变量一定是处理器支持的类型。
2、
static:既能修饰变量也能修饰函数,修饰变量时既能修饰全局变量也能修饰局部变量;修饰全局变量时只能在本文件使用,修饰局部变量时延长局部变量的生命周期至程序结束后释放;修饰函数,此函数只能在本文件内函数调用,不能被其他文件调用。
3、
extern:外部声明,生命变量在其他文件
4、
const:修饰变量为只读变量,但变量对应的空间可改变,不能通过该变量修改;修饰函数形参,使用时不修改实参变量的值(离谁近谁只读)。