1
0

项目:修复文档错误

This commit is contained in:
周中平 2022-11-12 16:43:25 +08:00
parent 24ea745154
commit 51b2c356c9
No known key found for this signature in database
GPG Key ID: B1DF9DD42D8E00DC
3 changed files with 10 additions and 10 deletions

View File

@ -55,7 +55,7 @@ enum color { red, green=5, blue };
在 C++ 中,有两种简单的定义常量的方式: 在 C++ 中,有两种简单的定义常量的方式:
- 使用 **#define** 预处理器。 - 使用 `#define` 预处理器。
- 使用 **const** 关键字。 - 使用 **const** 关键字。
#### 实例 #### 实例

View File

@ -17,7 +17,7 @@ C 语言编译器在编译程序之前会先使用预处理器preprocessor
所有预处理指令都是一行的,除非在行尾使用反斜杠,将其折行。指令结尾处不需要分号。 所有预处理指令都是一行的,除非在行尾使用反斜杠,将其折行。指令结尾处不需要分号。
## #define ## `#define`
`#define`是最常见的预处理指令用来将指定的词替换成另一个词。它的参数分成两个部分第一个参数就是要被替换的部分其余参数是替换后的内容。每条替换规则称为一个宏macro `#define`是最常见的预处理指令用来将指定的词替换成另一个词。它的参数分成两个部分第一个参数就是要被替换的部分其余参数是替换后的内容。每条替换规则称为一个宏macro
@ -246,7 +246,7 @@ X(5, 4, 3.14, "Hi!", 12)
printf("%s\n", X(1,2,3)); // Prints "1, 2, 3" printf("%s\n", X(1,2,3)); // Prints "1, 2, 3"
``` ```
## #undef ## `#undef`
`#undef`指令用来取消已经使用`#define`定义的宏。 `#undef`指令用来取消已经使用`#define`定义的宏。
@ -267,7 +267,7 @@ gcc -ULIMIT foo.c
上面示例中的`-U`参数,取消了宏`LIMIT`,相当于源文件里面的`#undef LIMIT`。 上面示例中的`-U`参数,取消了宏`LIMIT`,相当于源文件里面的`#undef LIMIT`。
## #include ## `#include`
`#include`指令用于编译时将其他源码文件,加载进入当前文件。它有两种形式。 `#include`指令用于编译时将其他源码文件,加载进入当前文件。它有两种形式。
@ -297,7 +297,7 @@ gcc -Iinclude/ -o code code.c
`#include`最常见的用途,就是用来加载包含函数原型的头文件(后缀名为`.h`),参见《多文件编译》一章。多个`#include`指令的顺序无关紧要,多次包含同一个头文件也是合法的。 `#include`最常见的用途,就是用来加载包含函数原型的头文件(后缀名为`.h`),参见《多文件编译》一章。多个`#include`指令的顺序无关紧要,多次包含同一个头文件也是合法的。
## #if...#endif ## `#if...#endif`
`#if...#endif`指令用于预处理器的条件判断,满足条件时,内部的行会被编译,否则就被编译器忽略。 `#if...#endif`指令用于预处理器的条件判断,满足条件时,内部的行会被编译,否则就被编译器忽略。
@ -362,7 +362,7 @@ gcc -DDEBUG=1 foo.c
上面示例中,`-D`参数指定宏`DEBUG`为`1`,相当于在代码中指定`#define DEBUG 1`。 上面示例中,`-D`参数指定宏`DEBUG`为`1`,相当于在代码中指定`#define DEBUG 1`。
## #ifdef...#endif ## `#ifdef...#endif`
`#ifdef...#endif`指令用于判断某个宏是否定义过。 `#ifdef...#endif`指令用于判断某个宏是否定义过。
@ -446,7 +446,7 @@ gcc -DDEBUG=1 foo.c
上面示例中,不同架构的系统需要定义对应的宏。代码根据不同的宏,加载对应的头文件。 上面示例中,不同架构的系统需要定义对应的宏。代码根据不同的宏,加载对应的头文件。
## #ifndef...#endif ## `#ifndef...#endif`
`#ifndef...#endif`指令跟`#ifdef...#endif`正好相反。它用来判断,如果某个宏没有被定义过,则执行指定的操作。 `#ifndef...#endif`指令跟`#ifdef...#endif`正好相反。它用来判断,如果某个宏没有被定义过,则执行指定的操作。
@ -518,7 +518,7 @@ C Version: 201710
*/ */
``` ```
## #line ## `#line`
`#line`指令用于覆盖预定义宏`__LINE__`,将其改为自定义的行号。后面的行将从`__LINE__`的新值开始计数。 `#line`指令用于覆盖预定义宏`__LINE__`,将其改为自定义的行号。后面的行将从`__LINE__`的新值开始计数。
@ -537,7 +537,7 @@ C Version: 201710
上面示例中,下一行的行号重置为`300`,文件名重置为`newfilename`。 上面示例中,下一行的行号重置为`300`,文件名重置为`newfilename`。
## #error ## `#error`
`#error`指令用于让预处理器抛出一个错误,终止编译。 `#error`指令用于让预处理器抛出一个错误,终止编译。
@ -578,7 +578,7 @@ newish.c:14:2: error: #error Not C11
#endif #endif
``` ```
## #pragma ## `#pragma`
`#pragma`指令用来修改编译器属性。 `#pragma`指令用来修改编译器属性。