一:register:请求编译器尽可能的将变量保存在cpu的内部寄存器中。
为什么用register?提高运行速率,减少cpu从内存抓取的时间。
什么时候用register声明?频繁被访问的变量用register声明。
注意:1,register只能修饰局部变量(形参),不能修饰全局变量和函数;
2,register修饰的变量不能用取地址去获取变量的地址;
3,register修饰的变量一定是cpu所接受的数据类型。
二:extern(外部声明):声明这个变量是在其他地方定义的,本文件可以使用
三:static:1,既能修饰变量,又能修饰函数;
2,修饰静态局部变量,延长修饰变量的生命期,整个程序的执行期;
3,修饰全局变量的时候,是这个变量只能在本文件访问,不能在其他文件访问(用extern也不行);
4,static修饰的函数,静态函数,这个函数只能在本文件内被调用,不能在其他地方调用;
5,static修饰的全局变量一般在全局数据区,未初始化的时候,系统默认为“0”;
什么时候用static:函数不想被调用的时候用static
四:const:修饰一个变量,这个变量被标记为只读变量(对应的空间可变);(不能通过num来修改空间);const是修饰变量名的; 使用const必须先初始化;
注意:使用const修饰变量名,离谁近,谁不能被修改
定义函数的时候用const,(修饰形参),保护了实参在函数实行中不会被修改。