Punctuation
From cppreference.net
Dies sind die Interpunktionssymbole in C. Die Bedeutung jedes Symbols wird auf den verlinkten Seiten detailliert beschrieben.
Inhaltsverzeichnis |
{
}
- In einer struct - oder union -Definition begrenzt es die struct-declaration-list .
- In einer enum -Definition begrenzt es die Enumerator-Liste.
- Begrenzt einen compound statement . Der compound statement kann Teil einer function definition sein.
- In der initialization begrenzt es die Initialisierer.
[
]
- Subscript-Operator .
- Teil von Array-Deklarator in einer Deklaration oder einer Typ-ID .
- In der Initialisierung , führt einen Designator für ein Array-Element ein. (seit C99)
- In einem Attribut-Spezifizierer , begrenzt die Attribute. (seit C23)
#
- Führen Sie eine Präprozessor-Direktive ein.
- Der Präprozessor-Operator für Stringifizierung .
##
(
)
- In einem Ausdruck Gruppierung anzeigen .
- Funktionsaufruf-Operator .
-
In einem
sizeof,_Alignof(seit C11) ,typeofodertypeof_unqual(seit C23) Ausdruck, den Operanden abgrenzen. - In einer expliziten Typumwandlung , den Typbezeichner abgrenzen.
- In einem zusammengesetzten Literal , den Typbezeichner abgrenzen. (seit C99)
- In einer Deklaration oder einem Typbezeichner , Gruppierung anzeigen.
- In einem Funktionsdeklarator (in einer Deklaration oder einem Typbezeichner ), die Parameterliste abgrenzen.
-
In einer
if,switch,while,do-while, oderforAnweisung, die Steuerklausel abgrenzen. - In einer funktionsähnlichen Makrodefinition , die Makroparameter abgrenzen.
- In einem funktionsähnlichen Makroaufruf , die Makroargumente abgrenzen oder verhindern, dass Kommata als Argumenttrenner interpretiert werden.
-
Teil eines
defined,__has_include,__has_embedoder__has_c_attribute(seit C23) Präprozessoroperators. - Teil eines generischen Auswahlausdrucks . (seit C11)
-
In einem
_AtomicTypspezifizierer, den Typbezeichner abgrenzen. (seit C11) - In einer Static-Assert-Deklaration , die Operanden abgrenzen. (seit C11)
-
In einem
_AlignasSpezifizierer, den Operanden abgrenzen. (seit C11) - In einem Attribut , die Attributargumente abgrenzen. (seit C23)
- In einem Bit-präzisen Ganzzahltypnamen ( _BitInt ( N ) ), die Größe abgrenzen. (seit C23)
- Teil von __VA_OPT__ Ersetzung in einer variadischen Makrodefinition. (seit C23)
- In einem Präprozessorparameter, verwendet in #embed Direktiven und __has_embed Präprozessorausdrücken, die Präprozessorparameterklausel abgrenzen. (seit C23)
;
- Das Ende anzeigen
-
- eine Anweisung (einschließlich der Init-Anweisung einer for-Anweisung)
- eine Deklaration oder struct-declaration-list
- Trennen Sie die zweite und dritte Klausel einer for-Anweisung .
:
- Teil des Bedingungsoperators .
- Teil der Markendeklaration .
- In einer Bitfeld-Memberdeklaration , führt die Breite ein.
- Führt eine Enum-Basis ein, die den zugrundeliegenden Typ des Enums spezifiziert. (seit C23)
- In einer generischen Assoziation , trennt die Typ-ID oder default und den ausgewählten Ausdruck. (seit C11)
...
- In der Parameterliste eines Funktionsdeklarators, kennzeichnet eine variadische Funktion .
- In einer Makrodefinition , kennzeichnet ein variadisches Makro. (seit C99)
?
- Teil des conditional operator .
::
- In einem Attribut , geben Sie den Attributbereich an. (seit C23)
- In einem präprozessorpräfixierten Parameter (verwendet von #embed und __has_embed ), geben Sie den Bereich an. (seit C23)
.
- Member access operator .
- In Initialisierung , führt einen Designator für ein Struct/Union-Member ein. (seit C99)
->
~
!
+
-
*
- Indirektionsoperator .
- Multiplikationsoperator .
- Zeigeroperator in einem Deklarator oder in einer Typ-ID .
- Platzhalter für die Länge eines Arrays variabler Länge in einer Funktionsdeklaration . (seit C99)
/
%
^
&
|
=
- Einfacher Zuweisungsoperator .
- In der Initialisierung , trennt es das Objekt und die Initialisierungsliste.
- In einer Enum-Definition , führt es den Wert des Aufzählungskonstanten ein.
+=
-=
*=
/=
%=
^=
&=
|=
==
!=
<
- Kleiner-als-Operator .
- Einen Header-Namen einführen in
-
- eine #include Direktive
- ein __has_include Präprozessorausdruck (seit C23)
- eine #embed Direktive (seit C23)
- ein __has_embed Präprozessorausdruck (seit C23)
-
implementierungsdefinierte Positionen innerhalb einer
#pragmaDirektive
>
- Größer-als-Operator .
- Kennzeichnet das Ende eines Header-Namens in
-
- eine #include Direktive
- ein __has_include Präprozessorausdruck (seit C23)
- eine #embed Direktive (seit C23)
- ein __has_embed Präprozessorausdruck (seit C23)
-
implementierungsdefinierte Positionen innerhalb einer
#pragmaDirektive
<=
>=
&&
||
<<
>>
<<=
>>=
++
--
,
- Komma-Operator .
- Listentrennzeichen in
-
- die Deklaratorliste in einer Deklaration
- Initialisiererliste bei der Initialisierung , einschließlich compound literals (seit C99)
- die Argumentenliste in einem Funktionsaufrufausdruck
- die Enumeratorliste in einer enum -Deklaration
- eine Funktionsparameterliste
- die Makroparameterliste in einer funktionsähnlichen Makrodefinition
- die Makroargumentenliste in einem funktionsähnlichen Makroaufruf , es sei denn, sie befindet sich zwischen einem inneren Klammerpaar
- die generische Assoziationsliste in einem generic selection expression (seit C11)
- eine Attribut -Liste (seit C23)
- In einer static_assert-Deklaration , trennen Sie die Argumente. (seit C11)
- In einem Generic-Selection-Ausdruck , trennen Sie den steuernden Ausdruck und die Generic-Association-Liste. (seit C11)
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 6.4.6 Satzzeichen (S: 68-69)
- C17-Standard (ISO/IEC 9899:2018):
-
- 6.4.6 Satzzeichen (S: 52-53)
- C11-Standard (ISO/IEC 9899:2011):
-
- 6.4.6 Satzzeichen (S. 72-73)
- C99-Standard (ISO/IEC 9899:1999):
-
- 6.4.6 Satzzeichen (S: 63-64)
- C89/C90 Standard (ISO/IEC 9899:1990):
-
- 3.1.6 Trennzeichen
Siehe auch
| Alternative Darstellungen (C95) | Alternative Schreibweisen für bestimmte Operatoren |
|
C++-Dokumentation
für
Interpunktion
|
|