C语言教程-C预处理器指令
C预处理器是一个微处理器,编译器在编译之前使用它来转换您的代码。它被称为微预处理器,因为它允许我们添加宏。
注意:预处理器指令在编译之前执行。
C预处理器 所有预处理器指令以井号#符号开头。
让我们看一下预处理器指令的列表。
#include
#define
#undef
#ifdef
#ifndef
#if #else
#elif
#endif
#error
#pragma
宏是什么
宏是一段代码片段,它会被宏的值替换。宏由#define指令定义。有两种类型的宏:
- 类似对象的宏
- 类似函数的宏
类似对象的宏
类似对象的宏是一个由值替换的标识符。它广泛用于表示数值常量。例如:
#define PI 3.14
在这里,PI是宏名称,它将被值3.14替换。
类似函数的宏
类似函数的宏看起来像函数调用。例如:
#define MIN(a,b) ((a)<(b)?(a):(b))
在这里,MIN是宏名称。
请访问#define以查看类似对象和类似函数的宏的完整示例。
C预定义宏
ANSI C定义了许多预定义宏,可以在C程序中使用。
序号 | 宏 | 描述 |
---|---|---|
1 | DATE | 以"MMM DD YYYY"格式表示当前日期。 |
2 | TIME | 以"HH:MM:SS"格式表示当前时间。 |
3 | FILE | 表示当前文件名。 |
4 | LINE | 表示当前行号。 |
5 | STDC | 当编译器符合ANSI标准时,它被定义为1。 |
C预定义宏示例
文件:simple.c
#include<stdio.h>
int main(){
printf("File :%s\n", FILE );
printf("Date :%s\n", DATE );
printf("Time :%s\n", TIME );
printf("Line :%d\n", LINE );
printf("STDC :%d\n", STDC );
return 0;
}
输出:
File :simple.c
Date :Dec 6 2015
Time :12:28:46
Line :6
STDC :1