本 C 教程解释了如何在 C 语言中使用 #undef 预处理器指令。更多C教程请访问码农之家
描述
在 C 编程语言中,#undef 指令告诉预处理器删除指定宏的所有定义。宏可以在被#undef 指令删除后重新定义。
一旦宏未定义,该宏上的#ifdef 指令将评估为假。
句法
C 语言中#undef 指令的语法是:
#undef macro_definition
macro_definition 将被预处理器删除的宏的名称。
例子
以下示例显示了如何使用 #undef 指令:
/* Example using #undef directive by TechOnTheNet.com */
#include <stdio.h>
#define YEARS_OLD 12
#undef YEARS_OLD
int main()
{
#ifdef YEARS_OLD
printf("TechOnTheNet is over %d years old.\n", YEARS_OLD);
#endif
printf("TechOnTheNet is a great resource.\n");
return 0;
}
在此示例中,首先使用值 12 定义 YEARS_OLD 宏,然后使用 #undef 指令取消定义。由于宏不再存在,语句#ifdef YEARS_OLD的计算结果为假。这会导致后面的printf函数被跳过。
这是可执行程序的输出:
TechOnTheNet is a great resource.