C语言预处理命令的分类和工作原理详细说明

网络整理 2020-11-25 10:34:57 0评

资料大小:0.10 MB

所需积分:0

下载次数:0

  C 语言编程过程中,经常会用到如 #include、#define 等指令,这些标识开头的指令被称为预处理指令,预处理指令由预处理程序(预处理器)操作。相比其他编程语言,C/C++ 语言更依赖预处理器,故在阅读或开发 C/C++ 程序过程中,可能会接触大量的预处理指令。 1、预处理指令及分类 C/C++ 程序中的源代码中包含以 # 开头的各种编译指令,这些指令称为预处理指令。预处理指令不属于 C/C++ 语言的语法,但在一定意义上可以说预处理扩展了 C/C++。 ANSI C 定义的预处理指令主要包括:文件包含、宏定义、条件编译和特殊控制等 4 类。 1. 文件包含文件包含:#include 是 C 程序设计中最常用的预处理指令。例如,几乎每个需要输入输出的 C 程序,都要包含 #include 指令,表示把 stdio.h 文件中的全部内容,替换该行指令。包含文件的格式有 #include 后面跟尖括号 《》 和双引号 “” 之分。两者的主要差别是搜索路径的不同。尖括号形式:如 #include,预处理器直接到系统目录对应文件中搜索 math.h 文件,搜索不到则报错。系统提供的头文件一般采用该包含方式,而自定义的头文件不能采用该方式。双引号形式:如 #include“cal.h”,首先到当前工作目录下查找该文件,如果没有找到,再到系统目录下查找。包含自定义的头文件,一般采用该方式。虽然系统头文件采用此方式也正确,但浪费了不必要的搜索时间,故系统头文件不建议采用该包含方式。 2. 宏定义宏定义:包括定义宏 #define 和宏删除 #undef。以 #define 开头,可以定义无参数宏和带参的宏定义。程序中经常使用无参宏定义来定义符号常量。例如: #define PI 3.1416 // 定义无符号宏,或定义符号常量 PI #undef 表示删除已定义的宏,例如: #undef PI // 删除前面该宏的定义

相关文章

0个回复

我要评论

热门标签