今天复习了预处理和变量类型

预处理分为三种:宏定义、条件编译、文件包含 三种结合在头文件中,可以防止头文件中的内容被重复包含。

变量有它的作用域和生命周期:按作用域划分,分为全局变量和局部变量,全局变量默认是extern,可以供所有的文件访问,局部变量只能供函数内部访问。按照存储位置的不同,可分为静态变量,自动变量,寄存器变量,静态变量存储在内存中,只能供当前文件访问,自动变量存储在堆栈中,当函数调用完毕时销毁,寄存器变量是存储在寄存器中,需要用register修饰。


extern、static关键字与函数变量的关系:

函数声明的时候默认是extern,用static修饰时只能供当前文件内部访问。变量也分为定义和声明,我们常常比如说int a,使用了定义和声明,但是使用extern int a时只是进行了声明,其他情况与函数一样