c语言 空指令,C语言#undef 指令用法

C语言#undef 指令用法

引导语:#undef 指令是可移除 identifier 的当前定义。以下是百分网小编分享给大家的C语言#undef 指令用法,欢迎阅读!更多精彩内容请持续关注我们应届毕业生考试网!

#undef 指令

取消定义一个给定的 #define。

例如有如下宏定义:

#define LIMIT 40

则指令

#undef LIMIT

会取消该定义。

现在就可以重新定义LIMIT,以使它有一个新的值。即使开始没有定义LIMIT,取消LIMIT的定义也是合法的。如果想使用一个特定名字,但又不能确定前面是否已经使用了该名字,为安全起见,就可以取消该名字的定义。

注意:#define 宏的作用域从文件中的定义点开始,直到用 #undef 指令取消宏为止,或直到文件尾为止(由二者中最先满足的`那个结束宏的作用域)。还应注意,如果用头文件引入宏,那么,#define 在文件中的位置依赖 #define 指令的位置。

#include

#define X 3

#define Y X*3

#undef X

#define X 2

int main (void)

{

printf ("Y = %d\n", Y);

printf ("X = %d\n", X);

return 0;

}

输出结果:

Y = 6

X = 2

#include

#define X 3

#define Y X*3

#define X 2 //不可重复定义

int main (void)

{

int z = Y;

printf ("Y = %d\n", z);

printf ("X = %d\n", X);

return 0;

}

输出结果:

test.c:4:0: 警告: “X”重定义 [默认启用]

test.c:2:0: 附注: 这是先前定义的位置

【C语言#undef 指令用法】相关文章:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值