C 语言:#undef 指令

本 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.

 

posted @   small_123  阅读(398)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示