标点
来自 cppreference.cn
这些是 C 语言中的标点符号。每个符号的含义在链接页面中详细说明。
目录 |
[编辑] {
}
[编辑] [
]
[编辑] #
- 引入 预处理指令。
- 字符串化预处理运算符。
[编辑] ##
[编辑] (
)
- 在表达式中,表示分组。
- 函数调用运算符.
- 在
sizeof
、_Alignof
(C11 起) 、typeof
或typeof_unqual
(C23 起) 表达式中,分隔操作数。 - 在 显式类型转换 中,分隔类型 ID。
- 在 复合字面量 中,分隔类型 ID。(C99 起)
- 在 声明 或 类型 ID 中,表示分组。
- 在 函数声明符(在 声明 或 类型 ID 中)中,分隔参数列表。
- 在
if
、switch
、while
、do-while
或for
语句中,分隔控制子句。 - 在 函数式宏定义 中,分隔宏参数。
- 在 函数式宏调用 中,分隔宏实参或防止逗号被解释为实参分隔符。
- 作为
defined
、__has_include
、__has_embed
或__has_c_attribute
(C23 起) 预处理运算符的一部分。 - 作为 泛型选择表达式 的一部分。(C11 起)
- 在
_Atomic
类型说明符中,分隔类型 ID。(C11 起) - 在 静态断言声明 中,分隔操作数。(C11 起)
- 在
_Alignas
说明符中,分隔操作数。(C11 起) - 在 属性 中,分隔属性参数。(C23 起)
- 在位精确整数类型名称 (_BitInt(N)) 中,分隔大小。(C23 起)
- 在可变参数宏定义中,作为 __VA_OPT__ 替换的一部分。(C23 起)
- 在 #embed 指令 和 __has_embed 预处理表达式中使用的预处理参数中,分隔预处理参数子句。(C23 起)
[编辑] ;
- 表示结束
- 分隔 for 语句 的第二和第三个子句。
[编辑] :
- 作为 条件运算符 的一部分。
- 作为 标签声明 的一部分。
- 在 位域成员声明 中,引入宽度。
- 引入 枚举基类型,指定枚举的基础类型。(C23 起)
- 在 泛型关联 中,分隔类型 ID 或 default 和选定的表达式。(C11 起)
[编辑] ...
[编辑] ?
- 作为 条件运算符 的一部分。
[编辑] ::
[编辑] .
[编辑] ->
[编辑] ~
[编辑] !
[编辑] +
[编辑] -
[编辑] *
[编辑] /
[编辑] %
[编辑] ^
[编辑] &
[编辑] |
[编辑] =
[编辑] +=
[编辑] -=
[编辑] *=
[编辑] /=
[编辑] %=
[编辑] ^=
[编辑] &=
[编辑] |=
[编辑] ==
[编辑] !=
[编辑] <
- 小于运算符.
- 在以下情况中引入头文件名称
- #include 指令
- __has_include 预处理表达式 (C23 起)
- #embed 指令 (C23 起)
- __has_embed 预处理表达式 (C23 起)
- 在
#pragma
指令 中,实现定义的位置
[编辑] >
- 大于运算符.
- 表示头文件名称的结束
- #include 指令
- __has_include 预处理表达式 (C23 起)
- #embed 指令 (C23 起)
- __has_embed 预处理表达式 (C23 起)
- 在
#pragma
指令 中,实现定义的位置
[编辑] <=
[编辑] >=
[编辑] &&
[编辑] ||
[编辑] <<
[编辑] >>
[编辑] <<=
[编辑] >>=
[编辑] ++
[编辑] --
[编辑] ,
- 逗号运算符.
- 在以下情况中作为列表分隔符
[编辑] 参考文献
- C23 标准 (ISO/IEC 9899:2024)
- 6.4.6 标点符号 (p: 68-69)
- C17 标准 (ISO/IEC 9899:2018)
- 6.4.6 标点符号 (p: 52-53)
- C11 标准 (ISO/IEC 9899:2011)
- 6.4.6 标点符号 (p: 72-73)
- C99 标准 (ISO/IEC 9899:1999)
- 6.4.6 标点符号 (p: 63-64)
- C89/C90 标准 (ISO/IEC 9899:1990)
- 3.1.6 标点符号
[编辑] 另请参阅
备选表示法 (C95) | 某些运算符的备选拼写 |
C++ 文档 中的 标点符号
|