extern:声明全局变量作用于该整个文件,当要在此文件中使用其他文件中定义的变量时要在此文件中用extern声明该变量,声明时不能赋值。
static:声明局部变量时表示该变量只能用于该函数;声明全局变量时表示该变量只能用于该文件(不能被其他文件使用);声明函数时表示该函数只能在本文件内调用,其他文件不能使用。
volatile:声明该变量不能被编译器优化(当编译器优化等级提高时编译该文件中的变量时没有发生改变则认为是静态变量,编译器不再主动从内存中更新该变量的值造成程序错误)。
typedef:给该类型的定义换个名字;例:typedef int newint;然后就能用newint a=0;和int a=0;是一样的。