- 相关推荐
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 指令用法】相关文章:
C语言#define的用法08-19
C语言的常用新指令有哪些09-07
c语言问号冒号的用法09-01
C语言for语句用法详解10-30
c语言大括号的用法05-24
C语言assert的用法有哪些07-17
C语言预定义宏用法10-06
C语言中strpbr()函数的用法07-25
c语言中time函数的用法08-27
c语言位运算符的用法指导06-02