【文件属性】:
文件名称:C语言 #define用法集锦[修正版]
文件大小:275KB
文件格式:PDF
更新时间:2015-05-01 03:39:21
#define用法 C语言 C语言宏定义
#define用法集锦
1.简单的define定义
#define MAXTIME 1000
一个简单的MAXTIME 就定义好了,它代表1000,如果在程序里面写
if(i
(y)?(x):(y);
这个定义就将返回两个数中较大的那个,看到了吗?因为这个“函数”没有类型检查,就好像一个函数模
板似的,当然,它绝对没有模板那么安全就是了。可以作为一个简单的模板来使用而已。
但是这样做的话存在隐患,例子如下:
#define Add(a,b) a+b;
在一般使用的时候是没有问题的,但是如果遇到如:c * Add(a,b) * d 的时候就会出现问题,代数式的本意
是a+b 然后去和c,d 相乘,但是因为使用了define(它只是一个简单的替换),所以式子实际上变成了
c*a + b*d
另外举一个例子:
#define pin (int*);
pin a,b;
本意是a 和b 都是int 型指针,但是实际上变成int* a,b;
a 是int 型指针,而b 是int 型变量。
这是应该使用typedef 来代替define,这样a 和b 就都是int 型指针了。
所以我们在定义的时候,养成一个良好的习惯,建议所有的层次都要加括号。