- 4
- 0
- 约6.25千字
- 约 13页
- 2017-06-20 发布于湖北
- 举报
第8章 编译预处理及重新定义数据类型
所谓编译预处理,是编译器在对C语言源程序进行正常编译之前,先对一些特殊的预处理命令作解释,产生一个新的源程序。编译预处理主要为程序调试、移植等提供便利,是一个非常实用的功能。
8.1 宏定义
在源程序中,为了区分预处理命令和一般的C语句的不同,所有预处理命令行都以符号“#”开头,并且结尾不用分号。预处理命令可以出现在程序任何位置,但习惯上尽可能地写在源程序的开头,其作用范围从其出现的位置到文件尾。
C语言提供的预处理命令主要有:宏定义、文件包含和条件编译。其中宏定义分为带参数的宏定义和不带参数的宏定义。
8.1.1 不带参数的宏定义
不带参数的宏定义的一般形式为:
#define 标识符 字符串
它的作用是在编译预处理时,将源程序中所有标识符替换成字符串。例如:
#define PI 3.14
#define uint unsigned int
当需要修改元素时,只要直接修改宏定义即可,无需修改程序中所有出现元素个数的地方。所以宏定义,不仅提高了程序的可读性、便于调试,而且也方便了程序的移植。
无参数的宏定义使用时,要注意以下几个问题:
1.宏名一般用大写字母,以便于与变量名的区别。当然,用小写字母也不为错。
2.在编译预处理中宏名与字符串进行替换时,不作语法检查,只是简单的字符替换,只有在编译时才对已经展开宏名的源程序进行语法检查。
您可能关注的文档
- 如何让几台电脑共享一个数据库.doc
- 北宋吕蒙正是历史上第一位平民出身状元宰相.doc
- 足球比赛裁判规范.doc
- 2015.6.13--java 第六章类与对象章总结.doc
- EXCEL中公式及函数的使用.doc
- C51几个预编译指令用法.doc
- 俄罗斯-不同国家与地区的商业习惯.doc
- 天然气加气站RS-485总线应用.doc
- Matlab中的逻辑运算及&&及&等的区别.doc
- 中国传媒大学艺术及科学考研经验之提高效率.doc
- 2024-2025学年湖南省邵阳市新宁县回龙寺镇人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市平原县王杲铺中小、王凤楼中小、腰站镇中小青岛版一年级下册3月月考数学试卷.docx
- 第四单元 课题3 物质组成的表示-初中化学新教材预习学案(人教版2024九年级上册).docx
- 2024-2025学年山东省济宁市梁山县人教版一年级下册期中测试数学试卷.docx
- 2024-2025学年山东省德州市德州经济技术开发区长河小学等校青岛版一年级下册期中考试数学试卷.docx
- 2026《基于国产开源单片机GD32VF103的输变电设备物联网传感器设计》8300字.docx
- 2024年中考道德与法治真题完全解读(北京卷).docx
- 2026《基于机器视觉识别的工件边缘曲线重构方法分析》9000字.docx
- 课时9.4 物体的浮与沉【一大题型】八年级全一册物理(沪科版2024).docx
- 2024-2025学年广东省江门市开平市人教版一年级下册期中综合素养评价数学试卷.docx
原创力文档

文档评论(0)