内容整理自互联网,感谢无私奉献知识的大牛们!
C语言三种预处理功能
1. 宏定义
2. 文件包含
3. 条件编译
伪指令(或预处理指令)定义:
预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之前对源代码做某些转换。下面是部分预处理指令:
特殊符号
预编译程序可以识别一些特殊的符号。预编译程序对于在源程序中出现的这些串将用合适的值进行替换。
注意,是双下划线,而不是单下划线。
FILE包含当前程序文件名的字符串
LINE表示当前行号的整数
DATE包含当前日期的字符串
STDC如果编译器遵循ANSI C标准,它就是个非零值
TIME包含当前时间的字符串
//例
1. 宏定义
不带参数
宏定义又称为宏代换、宏替换,简称“宏”。预处理(预编译)工作也叫做宏展开:将宏名替换为字符串,即在对相关命令或语句的含义和功能作具体分析之前就要换。 格式:
其中标识符就是所谓的符号常量,也称为“宏名”。