C 语言:#undef 指令
本 C 文章解释了如何在 C 语言中使用 #undef 预处理器指令。更多C教程请访问码农之家
语法
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.