宏定义define

#define宏定义是个演技非常高超的替身演员,我们用它要慎之又慎。

const修饰的数据 是有类型的,而define宏定义的数据 没有类型

define宏只是 简单的替换.

#define SQR(x)  x*x 
假设x是10,SQR(10)就被替换为10*10,但是当x为10+1,SQR(x)被替换为   10+1*10+1。这样就出问题了。

所以应该这么定义,多加几个括号: #define SQR(x)  ((x)*(x)) //多加几个括号,别吝啬括号。

通常用typedef定义某种类型如 int,long的别名,而不是用#define,用define会带来一些问题。。。

在用define进行宏定义时,后边 不要用”//“注释文字。否则会出问题的,编译器不会将这些文字当成注释。可以另起一行再注释。



2、用宏定义一个函数时,需要在同一行上定义,如果一行不够写,需要加'\', 最后一行上的变量是该表达式的返回值。
语法: #define func(x,y) ({ \
                 char a;\
                     ....
                     ....
                 a;\                  
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值