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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值