预定义宏
名称 | 描述 |
---|---|
DATE | 当前日期,一个以 “MMM DD YYYY” 格式表示的字符常量。 |
TIME | 当前时间,一个以 “HH:MM:SS” 格式表示的字符常量。 |
FILE | 这会包含当前文件名,一个字符串常量。 |
LINE | 这会包含当前行号,一个十进制常量。 |
STDC | 当编译器以 ANSI 标准编译时,则定义为 1。 |
预处理器运算符
名称 | 运算符 | 描述 |
---|---|---|
宏延续 | \ | 一个宏通常写在一个单行上。但是如果宏太长,一个单行容纳不下,则使用宏延续运算符 |
字符串常量化 | # | 在宏定义中,当需要把一个宏的参数转换为字符串常量时,则使用字符串常量化运算符 |
标记粘贴 | ## | 宏定义内的标记粘贴运算符,会合并左右两个参数 |
预处理器指令
#define 定义宏#include 包含一个源代码文件#undef 取消已定义的宏#ifdef 如果宏已经定义,则返回真#ifndef 如果宏没有定义,则返回真#if 如果给定条件为真,则编译下面代码#else #if 的替代方案#elif 如果前面的 #if 给定条件不为真,当前条件为真,则编译下面代码#endif 结束一个 #if……#else 条件编译块#error 当遇到标准错误时,输出错误消息#pragma 使用标准化方法,向编译器发布特殊的命令到编译器中