概述
#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;
})
最后
以上就是眼睛大方盒为你收集整理的宏定义define的全部内容,希望文章能够帮你解决宏定义define所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复