C语言-宏的学习

#define   名字   值    (没有分号)

名字必须是一个单词,值可以是任意的,以#开头的语句都是编译预处理指令,他们不是c的语句,但c语言又离不开他们,

#define Status  printf("123");\

                         printf("456")

如果宏的定义需要分行,在行末尾加上\即可。

带参数的宏:

有点类似于函数,但宏不带数据的类型,

如:#define  cube(x)  ((x)*(x)*(x))

即计算x的三次方

但是宏的格式很容易出错,保证两点即可:1.值的部分必须有括号,2.参数出现的地方必须有括号

另外,在vs2013里printf(“%s\n”,_FILE_); 显示文件的路径,类似的还有_DATA_,_TIME_,_LINE_.

    宏还可以嵌套宏,这点有点像函数,#define min(a,b)  ((a)>(b)?(b):(a))

宏后面的分号,如果遇到if和else语句千万不要加,因为你加了;,就相当于在if语句后加了俩分号,else语句就会报错。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值