Punctuation
From cppreference.net
以下是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指令 中由实现定义的位置
<=
- 小于等于运算符 。
>=
- 大于或等于运算符 。
&&
- 逻辑与运算符 。
||
- 逻辑或运算符 。
<<
- 位运算移位操作符 。
>>
- 位运算移位操作符 。
<<=
- 复合赋值运算符 。
>>=
- 复合赋值运算符 。
++
- 自增运算符 。
--
- 递减运算符 。
,
- 逗号运算符 。
- 列表分隔符
参考文献
- C23 标准 (ISO/IEC 9899:2024):
-
- 6.4.6 标点符号 (页码: 68-69)
- C17 标准 (ISO/IEC 9899:2018):
-
- 6.4.6 标点符号 (页: 52-53)
- C11 标准 (ISO/IEC 9899:2011):
-
- 6.4.6 标点符号 (p: 72-73)
- C99标准(ISO/IEC 9899:1999):
-
- 6.4.6 标点符号(页码:63-64)
- C89/C90 标准 (ISO/IEC 9899:1990):
-
- 3.1.6 标点符号
参见
| 替代表示法 (C95) | 特定运算符的替代拼写 |
|
C++ 文档
关于
标点符号
|
|