C语言 #define用法集锦[修正版]

时间:2015-05-01 03:39:21
【文件属性】:

文件名称: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 型指针了。 所以我们在定义的时候,养成一个良好的习惯,建议所有的层次都要加括号。


网友评论

  • 不错 很清晰 谢谢分享!
  • 不错,用法挺全面的,学习了好多没有用过的用法!
  • 用法集锦,真好!~
  • 这个真的值得一顶,很好用的资料啊
  • 不错,挺好的哈