C语言看图说话之#define

以下内容为自学笔记缺乏严谨性,如有错误和不足请大佬指正

(1)#define与#include在预处理时的不同作用?

#define是对文件内容进行查找替换,#include是将引用的头文件进行复制粘贴进当前文件

(2)参数宏的用法与注意事项

在define标识后不要加';' 除非你要替换的语句本来就要加';'.

#define ADD(A,B) A + B
#define SIZEOF(ARR) sizeof(ARR)/sizeof(ARR[0])

(3)举例: 宏的嵌套定义是什么?

#define PRINT printf("hello world!");
#define P5 PRINT PRINT PRINT PRINT PRINT
#define P10 P5 P5

宏的嵌套定义就是可以给宏在套上一个宏,这里 宏PRINT是输出"hello word!",宏P5就是5个PRINT也就是输出5次"hello word!",宏P10是两个P5就是输出10次"hello word!".

(4)宏定义类型与typedef定义类型的区别?

宏定义类型只是简单的文本替换,而typedef是对类型的重命名.

#define D_P_INT int*
typedef int* P_INT;

int* m1, m2, m3;//只有m1是int*,m2,m3是int
D_P_INT m1, m2, m3;//只有m1是int*,m2,m3是int
P_INT n1, n2, n3;//全部为int*类型

这里 D_P_INT 替换的是 int* 所以第二行与第一行效果相同,而typedef是对类型的重命名所以第三行定义的所有变量都是int*.

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值