非常教程

C参考手册

C 语法

Preprocessor

预编译器在编译之前的翻译阶段4执行。预处理的结果是单个文件,然后传递给实际的编译器。

指令

预处理指令控制预处理器的行为。每个指令占用一行,并具有以下格式:

  • # 字符
  • 预处理指令(之一defineundefincludeififdefifndefelseelifendiflineerrorpragma)[1]
  • 参数(取决于指令)
  • 越线

null指令(#后跟一个换行符)是允许的,不起作用。

功能

预处理器具有源文件翻译功能:

  • 有条件地编译源文件的部分(由指令控制#if#ifdef#ifndef#else#elif#endif)。
  • 替换文本宏同时可能级联或引用标识符(由指令控制#define#undef,以及运营商###
  • 包含其他文件(由指令控制#include
  • 导致错误(由指令控制#error

预处理器的以下方面可以被控制:

  • 实现定义的行为(由指令#pragma和操作员控制_Pragma(自C99以来))
  • 预处理器可用的文件名和行信息(由指令控制#line

脚注

  1. 这些是由标准定义的指令。该标准没有定义其他指令的行为:它们可能被忽略,具有一些有用的含义,或使程序不合格。即使忽略,当预处理器完成时,它们也会从源代码中移除。常见的非标准扩展是#warning在编译期间发出用户定义消息的指令。

C 语法相关

1.#define directive
2.#elif directive
3.#else directive
4.#endif directive
5.#error directive
6.#if directive
7.#ifdef directive
8.#ifndef directive
9.#include directive
10.#line directive
11.#pragma directive
12.alignas
13.Alternative operators and tokens
14.Analyzability
15.Arithmetic operators
16.Arithmetic types
17.Array declaration
18.Array initialization
19.ASCII Chart
20.Assignment operators
21. types
22.Basic concepts
23.Bit fields
24.break statement
25.C language
26.C Operator Precedence
27.cast operator
28.character constant
29.Comments
30.Comparison operators
31.compound literals
32.Conditional inclusion
33.Conformance
34.const type qualifier
35.Constant expressions
36.continue statement
37.Declarations
38.do-while loop
39.Enumerations
40.Escape sequences
41.Expressions
42.External and tentative definitions
43.File scope
44.floating constant
45.for loop
46.Function declarations
47.Function definitions
48.Functions
49.Generic selection
50.goto statement
51.Identifier
52.if statement
53.Implicit conversions
54.Increment/decrement operators
55.Initialization
56.inline function specifier
57.integer constant
58.Lifetime
59.Logical operators
60.Lookup and name spaces
61.Main function
62.Member access operators
63.Memory model
64.Objects and alignment
65.Order of evaluation
66.Other operators
67.Phases of translation
68.Pointer declaration
69.restrict type qualifier
70.return statement
71.Scalar initialization
72.Scope
73.sizeof operator
74.Statements
75.static assert declaration
76.Static storage duration
77.Storage-class specifiers
78.string literals
79.Struct and union initialization
80.Struct declaration
81.switch statement
82.Thread storage duration
83.Type
84.Type
85.Typedef declaration
86.Undefined behavior
87.Union declaration
88.Value categories
89.Variadic arguments
90.volatile type qualifier
91.while loop
92._Alignof operator
93._Noreturn function specifier
C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。