空间:全局变量-局部变量
时间:可见性(生命周期)
Static修饰的局部变量不能用变量初始化(不管是全局还是局部变量)
Register:寄存器register int i,这种可以优化代码速度
而且修饰的变量不能是地址
预处理:预编译(正式编译之前的准备工作)
可以自己在gcc中编译以下gcc a.c b.c。同时编译两个c文件
C语言与其他高级语言的一个重要区别是可以使用预处理命令和具有预处理的功能。
这是gcc编译器的流程
流程c-i-s-o
预处理操作
宏定义:
宏名一般建议大写一般区分与其他量
后面不要加分号要要不然文本的原样替换会把分号也一起替换过来
使用宏的方便时刻
本质上不是函数
注意上述代码的宏定义结果出来是5,而不是两数相乘,因为宏是直接替换文本,文本直接带入结果和正常函数使用不一样,要么就一直加括号()。
不能这么写,这个要写在和#define一起
可以这么改,但是替换过来还是在一行
宏定义不是c语句
回车