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_OLDint main()
{#ifdef YEARS_OLDprintf("TechOnTheNet is over %d years old.\n", YEARS_OLD);#endifprintf("TechOnTheNet is a great resource.\n");return 0;
}
在此示例中,首先使用值 12 定义 YEARS_OLD 宏,然后使用 #undef 指令取消定义。由于宏不再存在,语句#ifdef YEARS_OLD的计算结果为假。这会导致后面的printf函数被跳过。
这是可执行程序的输出:
TechOnTheNet is a great resource.
C 语言:#undef 指令相关推荐
- C语言预处理指令大全
C语言预处理指令 文章目录 C语言预处理指令 define 语法 Linux编译时指定宏的值及宏 删除已有的宏 C语言允许多参数的宏及宏函数 宏函数需要注意的事项 参数宏创建字符串 预处理粘合剂 li ...
- R语言基础指令和并行算法初识(上篇)
一.R语言背景介绍 二. R语言基础指令 三. R语言并行算法 四. 计划打算 一.R语言背景介绍 1.2.起源:R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支.可以认为R是S语言的一种 ...
- 三菱fx3u使用st语言adprw指令通过485-adp-mb模块与台达变频器进行通信
三菱fx3u使用st语言adprw指令通过485-adp-mb模块与台达变频器进行通信 作者:东莞市天翔环境工程有限公司,广东东极环保科技有限公司 使用ST语言作为PLC控制程序编写的通信方面的资料比 ...
- 三菱fx1n使用st语言rs指令通过485-bd模块与台达变频器进行通信
三菱fx1n使用st语言rs指令通过485-bd模块与台达变频器进行通信 作者:东莞市天翔环境工程有限公司,广东东极环保科技有限公司 使用ST语言作为PLC控制程序编写的通信方面的资料比较少,网络上找 ...
- c语言 pragma指令,C语言#pragma指令用法
引导语:在所有的预处理指令中,#Pragma指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.以下是百分网小编分享给大家的C语言#pragma指令用法,欢迎阅读! # ...
- c语言编译预处理指令大全,C语言预处理指令
「今天是学习C语言第 32 天」 当你选择了一种语言,意味着你还选择了一组技术.一个社区.--Joshua Bloch # 预处理 C语言源程序先经过预处理器进行预处理,之后经过编译器编译成二进制可执 ...
- C 语言编程 — 指令行参数
目录 文章目录 目录 前文列表 命令行参数 前文列表 <程序编译流程与 GCC 编译器> <C 语言编程 - 基本语法> <C 语言编程 - 基本数据类型> < ...
- c语言 空指令的作用,单片机C语言编程空指令产生短延时怎么办
标准的C语言中没有空语句.但在单片机的C语言编程中,经常需要用几个空指令产生短延时的效果.这在汇编语言中很容易实现,写几个nop就行了. 在keil C51中,直接调用库函数: #include // ...
- C语言(APL指令)对mysql数据库的操作-----连接、读取、写入、修改、删除(保姆级讲解)
目录 前言: C语言操作mysql前的准备工作 1.C语言连接mysql数据库 函数介绍 (1)mysql_ini() 函数 (2)mysql_library_init()函数 (3)mysql_re ...
最新文章
- 商汤提基于贪心超网络的One-Shot NAS,达到最新SOTA | CVPR 2020
- insert into 多条数据_最全总结 | 聊聊 Python 数据处理全家桶(Sqlite篇)
- Ubuntu 10.10(64位)编译Android 2.3
- (chap2 简单的Http协议) 请求报文和响应报文
- 解决yum命令失效,vim: command not found
- mysql explain output_MySQL查询优化之explain的深入解析【转载】
- opencv 颜色空间转换、颜色追踪
- 蓝牙 查询码 android,android bluetooth UUID蓝牙查询表
- 读取页面上所有的checkbox
- 推荐系统概述——《ML算法原理和实践》学习笔记
- Python求正态分布曲线下面积
- 分享全网免费的CDN网站加速平台(测试)
- guava-retry介绍
- 语音用户如何计算机,笔记本电脑语音聊天对方听不清声音该怎么处理
- 荣耀背后的两条微笑曲线
- Mybatis 注解开发
- mysql基本SQL语句
- 一个APP的开发流程
- php文件域的作用,在word中何为域
- Category的底层分析