设为首页 加入收藏

TOP

C中的define 特殊用法
2014-04-06 17:41:27 来源: 作者: 【 】 浏览:126
Tags:define  特殊 用法

  首先来看一个例子:

  这个很平常,大家都会用,但如果是下面这样使用,可以吗

  好,让我们来编译一下,看是什么情况。

  再看一下,宏展开后是怎木样的! (宏展开:$: gcc -E -P tt.c > file, 过后打开file文件就会看见)

  编译时 发现错误,重定义了 i 变量。这是为什么

  因为定义的宏是在编译时就在调用处展开了,当两个宏定义FUN()在同一作用域中调用时,就会发生变量重定义了。

  那么有什么方法可以使这种调用正确呢 请看下面:

  经编译,没法现错误,为什么 我们再来看看展开后的宏:

  没发生错误,是因为在这里产生了两个不同的变量,i1,i2,。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇float x 与“零值”比.. 下一篇c语言undefined reference&n..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: