C语言数据存储类型注意事项
数据存储类型
1. auto
自动变量,局部变量默认是自动变量;
2. register
寄存器变量,只是建议编译器使用寄存器,并不是一定要使用寄存器,变量类型需要CPU的支持
3. extern
外部变量,全局变量默认外部变量,extern的问题在于你不知道这个关键字出现的时候到底是声明还是定义。
谨记:声明可多次,定义就一次。
函数的声明extern关键自己是可有可无的,应为函数本身不加修饰符的话就是extern的。
4. static
静态变量,静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化未0,且静态局部变量存储于进程的全局数据区,他的值也会保持不变。
静态函数只能在声明它的文件中可见,其他文件不能引用该函数。