C语言学习之预处理

空间:全局变量-局部变量

时间:可见性(生命周期)

Static修饰的局部变量不能用变量初始化(不管是全局还是局部变量)

Register:寄存器register int i,这种可以优化代码速度

而且修饰的变量不能是地址

预处理:预编译(正式编译之前的准备工作)

可以自己在gcc中编译以下gcc a.c b.c。同时编译两个c文件

C语言与其他高级语言的一个重要区别是可以使用预处理命令和具有预处理的功能。

这是gcc编译器的流程

流程c-i-s-o

预处理操作

宏定义:

宏名一般建议大写一般区分与其他量

后面不要加分号要要不然文本的原样替换会把分号也一起替换过来

使用宏的方便时刻

本质上不是函数

注意上述代码的宏定义结果出来是5,而不是两数相乘,因为宏是直接替换文本,文本直接带入结果和正常函数使用不一样,要么就一直加括号()。

不能这么写,这个要写在和#define一起

可以这么改,但是替换过来还是在一行

宏定义不是c语句

回车

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值