标点符号
来自 cppreference.com
这些是 C 语言中的标点符号。每个符号的含义在链接的页面中详细说明。
目录 |
[编辑] {
}
[编辑] [
]
[编辑] #
[编辑] ##
[编辑] (
)
- 在表达式中,指示分组。
- 函数调用运算符.
- 在
sizeof
,_Alignof
(自 C11 起) ,typeof
或typeof_unqual
(自 C23 起) 表达式中,界定操作数。 - 在 显式转换 中,界定类型标识符。
- 在 复合字面量 中,界定类型标识符。 (自 C99 起)
- 在 声明 或 类型标识符 中,指示分组。
- 在 函数声明符(位于 声明 或 类型标识符 中),界定参数列表。
- 在
if
、switch
、while
、do-while
或for
语句中,界定控制子句。 - 在 类似函数的宏定义 中,界定宏参数。
- 在 类似函数的宏调用 中,界定宏参数或防止逗号被解释为参数分隔符。
- 是
defined
,__has_include
,__has_embed
或__has_c_attribute
(自 C23 起) 预处理运算符的一部分。 - 是 泛型选择表达式 的一部分。 (自 C11 起)
- 在
_Atomic
类型说明符中,界定类型标识符。 (自 C11 起) - 在 静态断言声明 中,界定操作数。 (自 C11 起)
- 在
_Alignas
说明符中,界定操作数。 (自 C11 起) - 在 属性 中,界定属性参数。 (自 C23 起)
- 在位精确整数类型名称 (_BitInt(N)) 中,界定大小。 (自 C23 起)
- 是 __VA_OPT__ 在可变参数宏定义中的替换部分。 (自 C23 起)
- 在 #embed 指令 和 __has_embed 预处理表达式中使用的预处理参数中,界定预处理参数子句。 (自 C23 起)
[编辑] ;
- 指示
- 将 for 语句 的第二个和第三个子句分隔开。
[编辑] :
- 是 条件运算符 的一部分。
- 是 标签声明 的一部分。
- 在 位域成员声明 中,引入宽度。
- 引入 枚举基类型,它指定枚举的底层类型。 (自 C23 起)
- 在 泛型关联 中,界定类型标识符或 default 和选定表达式。 (自 C11 起)
[编辑] ...
[编辑] ?
- 是 条件运算符 的一部分。
[编辑] ::
[编辑] .
[编辑] ->
[编辑] ~
[编辑] !
[编辑] +
[编辑] -
[编辑] *
[编辑] /
[编辑] %
[编辑] ^
[编辑] &
[编辑] |
[编辑] =
[编辑] +=
[编辑] -=
[编辑] *=
[编辑] /=
[编辑] %=
[编辑] ^=
[编辑] &=
[编辑] |=
[编辑] ==
[编辑] !=
[编辑] <
- 小于运算符.
- 在
- 一个 #include 指令
- 一个 __has_include 预处理表达式 (自 C23 起)
- 一个 #embed 指令 (自 C23 起)
- 一个 __has_embed 预处理表达式 (自 C23 起)
- 在
#pragma
指令 中的实现定义位置
引入头文件名
- 一个 #include 指令
- 一个 __has_include 预处理表达式 (自 C23 起)
- 一个 #embed 指令 (自 C23 起)
- 一个 __has_embed 预处理表达式 (自 C23 起)
- 在
#pragma
指令 中的实现定义位置
指示头文件名的结束
小于或等于运算符
大于或等于运算符
逻辑与运算符
逻辑或运算符
按位左移运算符
[编辑] >>
[编辑] <<=
[编辑] >>=
自增运算符
自减运算符
在 泛型选择表达式 中,分隔控制表达式和泛型关联列表。 (自 C11 起)
- [编辑] 参考资料
- 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 起) |
某些运算符的备用拼写
|