1、局部变量(auto )
必须初始化,否则是不确定的值。
离开函数(块)后,变量自动销毁。
2、外部变量(全局变量,extern)
不初始化的话,自动初始化为0;
在当前程序(文件)中有效,其他程序(文件)中使用要加上 extern int xxx;
3、静态变量(static)
不初始化的话,自动初始化为0,只初始化一次,下次使用,不再初始化。
静态变量修饰局部变量时,当变量离开函数(块),会保留变量值,再次进入该函数(块)时,继续使用该变量的值。
静态变量修饰外部变量时,该变量只能在当前程序(文件)中使用,不能被其他程序(文件)调用。
4、寄存器变量
不经常使用