Punctuation
From cppreference.net
これらはC言語の句読点記号です。各記号の意味はリンク先のページで詳しく説明されています。
目次 |
{
}
- struct または union の定義において、 struct-declaration-list を区切ります。
- enum の定義において、列挙子リストを区切ります。
- 複合文 を区切ります。この複合文は 関数定義 の一部である可能性があります。
- 初期化 において、初期化子を区切ります。
[
]
#
- プリプロセッシングディレクティブを 導入する 。
- 文字列化のためのプリプロセッシング演算子 。
##
(
)
- 式において、 グループ化を示す 。
- 関数呼び出し演算子 。
-
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以降)
;
- 終了を示す
-
- statement (for文のinit-statementを含む)
- declaration または struct-declaration-list
- for文 の第2節と第3節を分離する。
:
- 条件演算子 の一部。
- ラベル宣言 の一部。
- ビットフィールドメンバー宣言 において、幅を指定する。
- enumの基盤型を指定する enum base を導入する。 (C23以降)
- 汎用関連付け において、型IDまたは default と選択された式を区切る。 (C11以降)
...
?
- 条件演算子 の一部。
::
- 属性 において、属性のスコープを指定します。 (C23以降)
- プリプロセッサ接頭付きパラメータ( #embed および __has_embed で使用)において、スコープを指定します。 (C23以降)
.
- メンバアクセス演算子 .
- 初期化 において、構造体/共用体メンバの指示子を導入する。 (C99以降)
->
~
!
- 論理否定演算子 .
+
-
*
/
- 除算演算子 。
%
- 剰余演算子 .
^
&
- アドレス演算子 .
- ビット単位AND演算子 .
|
=
+=
- 複合代入演算子 .
-=
- 複合代入演算子 .
*=
- 複合代入演算子 .
/=
- 複合代入演算子 .
%=
- 複合代入演算子 .
^=
- 複合代入演算子 .
&=
- 複合代入演算子 .
|=
- 複合代入演算子 .
==
- 等価演算子 。
!=
- 非等価演算子 .
<
- 小なり演算子 .
- ヘッダー名の導入
-
- a #include ディレクティブ
- a __has_include 前処理式 (C23以降)
- a #embed ディレクティブ (C23以降)
- a __has_embed 前処理式 (C23以降)
-
実装定義の位置における
#pragmaディレクティブ
>
- 大なり演算子 .
- ヘッダー名の終了を示す
-
- a #include ディレクティブ
- a __has_include 前処理式 (C23以降)
- a #embed ディレクティブ (C23以降)
- a __has_embed 前処理式 (C23以降)
-
実装定義の位置における
#pragmaディレクティブ
<=
>=
- 以上演算子 .
&&
- 論理AND演算子 .
||
- 論理OR演算子 .
<<
>>
<<=
- 複合代入演算子 .
>>=
- 複合代入演算子 .
++
--
,
(注:原文のカンマ記号は
タグ内にあり、翻訳対象外のため変更していません)
- Comma operator .
- リスト区切り文字
- 静的アサーション宣言 において、引数を分離します。 (C11以降)
- 総称選択式 において、制御式と総称関連リストを分離します。 (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) | 特定の演算子に対する代替表記 |
|
C++ documentation
for
Punctuation
|
|