Linux学习-宏

本文讨论了代码替换功能,带参宏如#definesum(x,y)的使用,以及它与函数在参数处理、体积影响和运行效率上的对比。强调了宏定义主要用于封装简短代码,而函数具有类型检查和返回值特性,可能带来额外的资源开销。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

主要是完成一个代码替换的功能,只是替换的功能,中间不进行任何数据计算的操作;

能加括号就加括号,以免替换方式的时候计算出问题;

不带参数宏:

#define m (n)

#define  c    ((m)+(m))

带参宏:

#define  sum(x,y)   ( x )+(y)

带参宏实现多句代码:#define  sum(x,y)     do{ ( x )+(y)\

                                                                    prinf("%d",x);      \

                                                                      prinf("%d",x);   \}while(0)

\  表示多句代码在一句,带参宏多句代码用do,while链接起来

函数和带参宏的区别:

函数有参数类型和返回值,调用的概念;

带参宏只是代码的替换(不是赋值);

带参宏会让程序的体积增大;函数不会

函数传参会占用资源开销,增大程序运行时间

带参宏没有传参调用的过程,程序运行速度更快;

带参宏用于封装比较简短的代码;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值