2024年10月9日 09:45

This commit is contained in:
许大仙 2024-10-09 01:45:00 +00:00
parent 62dfe38dea
commit 3d8b6d4c91

View File

@ -44,6 +44,44 @@
* 在编译和链接之前C 语言需要对源文件进行一些文本方面的操作,如:删除代码中的注释,但是不会进行语法检查、头文件包含、宏展开、条件编译等,这个过程叫做预处理,由`预处理程序(预处理器)`完成。
* 较之其他的编程语言Java 、C# 等C/C++ 语言更依赖预处理器,所以在阅读或开发 C/C++ 程序的过程中,可能会接触到大量的预处理指令,如:`#include`、`#define` 等。
## 1.3 预处理指令
* 预处理过程中会执行预处理指令,预处理指令以 `#`开头,如:`#include` 等,用于指导预处理器执行不同的任务。
* 预处理器有如下的特点:
* ① 预处理指令应该放在代码的开头部分。
* ② 预处理指令都以 `#`开头,指令前面可以有空白字符(比如空格或制表符),`#`和指令的其余部分之间也可以有空格,但是为了兼容老的编译器,一般不留空格。
```c
// 推荐写法
#include <stdio.h>
```
```c
// 不推荐写法
#include <stdio.h>
# include <stdio.h>
```
* ③ 预处理指令都是一行的,除非在行尾使用反斜杠,将其折行。
```c
#include <std\
io.h>
```
* ④ 预处理指令不需要分号作为结束符,指令结束是通过换行符来识别的。
```c
#include <stdio.h>; // 这里有分号会报错
```
* ⑤
# 第二章:宏定义