目录
1. 预定义符号
C语⾔设置了⼀些预定义符号,可以直接使⽤,预定义符号也是在预处理期间处理的。
1.__FILE__ //进⾏编译的源⽂件
2.__LINE__ //⽂件当前的⾏号
3.__DATE__ //⽂件被编译的⽇期
4.__TIME__ //⽂件被编译的时间
5.__STDC__ //如果编译器遵循ANSI C,其值为1,否则未定义
使用方法如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
printf("%s\n", __FILE__);
printf("%d\n", __LINE__);
printf("%s\n", __DATE__);
printf("%s\n", __TIME__);
return 0;
}
打印结果如下:
2. #define 定义常量
2.1 基本语法:
#define name stuff
举个例⼦:
1.#define MAX 1000
2.#define do_forever for(;;) //⽤更形象的符号来替换⼀种实现
2.2 续行符的使用
如果定义的 stuff过⻓,可以分成⼏⾏写,除了最后⼀⾏外,每⾏的后⾯都加⼀个反斜杠(续⾏符)。
注意:反斜杠后直接回车即可,不能加空格之类的,否则不能起到换行效果。
#define DEBUG_PRINT printf("file:%s\tline:%d\t \
date:%s\ttime:%s\n" ,\
__FILE__,__LINE__ , \
__DATE__,__TIME__ )
2.3 思考:在define定义标识符的时候,要不要在最后加上 ; ?
#define MAX 1000;
建议不要加分号,这样显得多于,并且在某些情况下会出现错误。比如:
#define MAX 10;
int main()
{
printf("%d\n", MAX);
//预处理其间会进行如下替换,这样就出现了语法错误
// printf("%d\n", 10;);
return