C语言预处理命令总结
预处理指令是以#
号开头的代码行,# 号必须是该行除了任何空白字符外的第一个字符。# 后是指令关键字,在关键字和 # 号之间允许存在任意个数的空白字符,整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。
下面是部分预处理指令:
指令 | 说明 |
# |
空指令,无任何效果 |
#include |
包含一个源代码文件 |
#define |
定义宏 |
#undef |
取消已定义的宏 |
#if |
如果给定条件为真,则编译下面代码 |
#ifdef |
如果宏已经定义,则编译下面代码 |
#ifndef |
如果宏没有定义,则编译下面代码 |
#elif |
如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 |
#endif |
结束一个#if……#else条件编译块 |
预处理功能是C语言特有的功能,它是在对源程序正式编译前由预处理程序完成的,程序员在程序中用预处理命令来调用这些功能。
宏定义可以带有参数,宏调用时是以实参代换形参,而不是“值传送”。
为了避免宏代换时发生错误,宏定义中的字符串应加括号,字符串中出现的形式参数两边也应加括号。
文件包含是预处理的一个重要功能,它可用来把多个源文件连接成一个源文件进行编译,结果将生成一个目标文件。
条件编译允许只编译源程序中满足条件的程序段,使生成的目标程序较短,从而减少了内存的开销并提高了程序的效率。
使用预处理功能便于程序的修改、阅读、移植和调试,也便于实现模块化程序设计。
声明:
本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
C语言预处理命令总结相关推荐
- C语言中编译预处理命令作用,C语言预处理命令详解
原标题:C语言预处理命令详解 关注百问科技并将它设为星标 不错过任何一篇嵌入式干货 ------ 作者:clover_toeic 原文出处: https://www.cnblogs.com/clove ...
- C语言预处理命令(预处理指令)
C语言预处理命令分为:宏定义.文件包含.条件编译 什么是预处理命令? 预处理命令属于C语言编译器,而不是C语言的组成部分 预处理命令的作用:就是在编译和链接之前,对源文件进行一些文本方面的操作,比如文 ...
- R 多变量数据预处理_超长文详解:C语言预处理命令
一 前言 预处理(或称预编译)是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作.预处理指令指示在程序正式编译前就由编译器进行的操作,可放在程序中任何位置. 预处理是C语言的一个重要功能 ...
- c语言预处理命令math,C语言之预处理命令
预处理命令 主要是改进程序设计环境,以提高编程效率,不属于c语言本身的组成部分,不能直接对它们进行编译,必须在对 程序编译之前,先对程序中的这些特殊命令进行"预处理".比如头文件. ...
- c语言预处理命令12个,C语言编译预处理和预处理命令
1.预处理概念:编译程序时,编译器将对程序文件作至少两个阶段的编译预处理,预处理程序预处理阶段和编译程序预处理阶段. 预处理程序预处理阶段:C预处理程序先于C编译程序运行.预处理程序从前向后根据预处理 ...
- C语言预处理命令分类和工作原理
C语言编程过程中,经常会用到如 #include.#define 等指令,这些标识开头的指令被称为预处理指令,预处理指令由预处理程序(预处理器)操作. 相比其他编程语言,C/C++ 语言更依赖预处理器 ...
- c语言里有js的预编译环节吗,C语言第十一讲,预处理命令.
C语言第十一讲,预处理命令. 一丶预处理简介 什么是预处理,预处理就是预先处理. 我们知道,程序会经过编译,连接形成可执行文件 这些在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理.提前 ...
- c语言输入输出预处理命令,C语言第十一讲,预处理命令.
C语言第十一讲,预处理命令. 一丶预处理简介 什么是预处理,预处理就是预先处理. 我们知道,程序会经过编译,连接形成可执行文件 这些在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理.提前 ...
- C语言中 编译预处理命令的作用有哪些,C语言系列——预处理命令
是什么? 首先介绍一下什么是预处理,在编译之前对源文件进行简单加工的过程,就称之为预处理.又因为预处理主要是处理#开头的命令,故将以#号开头的命令称为预处理命令. 做什么? 今天我们主要讨论C语言中的 ...
最新文章
- 3天拆解数据分析全流程!
- 看看那些令你惊叹的PCB设计艺术
- 工作经常使用的SQL整理,实战篇(三)
- 【SICP练习】66 练习2.37
- java 数组的拷贝 对象数组的拷贝 System.arraycopy函数
- android x86 笔记本卡屏,笔记本死机卡屏怎么办
- python random函数_Python随机函数random使用详解
- 燕山大学计算机学院官网,燕山大学信息科学与工程学院(专业学位)计算机技术保研夏令营...
- [leetcode]687. Longest Univalue Path
- Cisco交换机上的链路聚合
- Linux安装webmin
- 拼团功能实现 php_PHP实现微信退款功能
- java对象中方法的存储原理_垃圾收集机制的基本原理及方法
- linux系统国产制图软件,国产操作系统也能用的国产图表绘制软件,替代Visio就用它了...
- 在CSDN发布付费资源
- 【C语言】pow函数的模拟实现(递归)
- 作业4—文法和语言总结与梳理
- php生成统计图类pchart---中文翻译手册
- C++:实现量化期权交易CDS加密货币衍生品测试实例
- 绵阳现在买房怕房价跌,不买又怕房价涨!到底是跌是涨?
热门文章
- apollo 参数传递_使用Apollo通过WebSocket通过STOMP轻松进行消息传递
- java反射api研究_深入研究Java 8中的可选类API
- java8 javafx_Java 8的新增功能(第1部分– JavaFX)
- java 死锁的检测与修复_调查死锁–第4部分:修复代码
- Apache Camel的性能调整思路
- mongodb 性能测试_MongoDB性能测试
- 在Websphere 8.0上安装Liferay 6.2 Enterprise Edition
- PrimeFaces 5.0 DataTable列切换器
- JavaFX技巧4:总结
- ActiveMQ中的温度,存储和内存使用百分比