Punctuation
From cppreference.net
Voici les symboles de ponctuation en C. La signification de chaque symbole est détaillée dans les pages liées.
Table des matières |
{
}
- Dans une définition de struct ou union , délimite la struct-declaration-list .
- Dans une définition d' enum , délimite la liste des énumérateurs.
- Délimite une instruction composée . L'instruction composée peut faire partie d'une définition de fonction .
- Dans l' initialisation , délimite les initialiseurs.
[
]
- Opérateur de subscription .
- Fait partie du déclarateur de tableau dans une déclaration ou un identifiant de type .
- Dans l' initialisation , introduit un désignateur pour un élément de tableau. (depuis C99)
- Dans un spécificateur d'attribut , délimite les attributs. (depuis C23)
#
- Introduire une directive de préprocesseur .
- L' opérateur de préprocesseur pour la stringification .
##
(
)
- Dans une expression, indique le regroupement .
- Opérateur d'appel de fonction .
-
Dans une expression
sizeof,_Alignof(depuis C11) ,typeofoutypeof_unqual(depuis C23) , délimite l'opérande. - Dans un cast explicite , délimite le type-id.
- Dans un littéral composé , délimite le type-id. (depuis C99)
- Dans une déclaration ou un type-id , indique le regroupement.
- Dans un déclarateur de fonction (dans une déclaration ou un type-id ), délimite la liste de paramètres.
-
Dans une instruction
if,switch,while,do-while, oufor, délimite la clause de contrôle. - Dans une définition de macro de type fonction , délimite les paramètres de la macro.
- Dans une invocation de macro de type fonction , délimite les arguments de la macro ou empêche que les virgules soient interprétées comme séparateurs d'arguments.
-
Fait partie d'un opérateur de prétraitement
defined,__has_include,__has_embedou__has_c_attribute(depuis C23) . - Fait partie d'une expression de sélection générique . (depuis C11)
-
Dans un spécificateur de type
_Atomic, délimite le type-id. (depuis C11) - Dans une déclaration d'assertion statique , délimite les opérandes. (depuis C11)
-
Dans un spécificateur
_Alignas, délimite l'opérande. (depuis C11) - Dans un attribut , délimite les arguments de l'attribut. (depuis C23)
- Dans un nom de type entier à précision de bits ( _BitInt ( N ) ), délimite la taille. (depuis C23)
- Fait partie du remplacement __VA_OPT__ dans une définition de macro variadique. (depuis C23)
- Dans un paramètre de prétraitement utilisé dans les #embed directives et les expressions de prétraitement __has_embed , délimite la clause de paramètre de prétraitement. (depuis C23)
;
- Indiquer la fin de
-
- une instruction (y compris l'init-statement d'une instruction for)
- une déclaration ou struct-declaration-list
- Séparez les deuxième et troisième clauses d'une instruction for .
:
- Fait partie de l' opérateur conditionnel .
- Fait partie de la déclaration d'étiquette .
- Dans une déclaration de membre de champ de bits , introduit la largeur.
- Introduit une base d'énumération , qui spécifie le type sous-jacent de l'énumération. (depuis C23)
- Dans une association générique , délimite le type-id ou default et l'expression sélectionnée. (depuis C11)
...
- Dans la liste des paramètres d'un déclarateur de fonction, indique une fonction variadique .
- Dans une définition de macro , indique une macro variadique. (depuis C99)
?
- Fait partie de l'opérateur conditionnel .
::
- Dans un attribut , indique la portée de l'attribut. (depuis C23)
- Dans un paramètre préfixé par le préprocesseur (utilisé par #embed et __has_embed ), indique la portée. (depuis C23)
.
- Opérateur d'accès aux membres .
- Dans l' initialisation , introduit un désignateur pour un membre de struct/union. (depuis C99)
->
~
!
+
-
*
- Opérateur d'indirection .
- Opérateur de multiplication .
- Opérateur pointeur dans un déclarateur ou dans un identifiant de type .
- Espace réservé pour la longueur d'un déclarateur de tableau à longueur variable dans une déclaration de fonction . (depuis C99)
/
%
^
&
|
=
- Opérateur d'assignation simple .
- Dans l' initialisation , délimite l'objet et la liste d'initialiseurs.
- Dans une définition d'énumération , introduit la valeur de la constante d'énumération.
+=
-=
*=
/=
%=
^=
&=
|=
==
!=
<
- Opérateur inférieur à .
- Introduire un nom d'en-tête dans
-
- une #include directive
- une __has_include expression de préprocesseur (depuis C23)
- une #embed directive (depuis C23)
- une __has_embed expression de préprocesseur (depuis C23)
-
emplacements définis par l'implémentation dans une
#pragmadirective
>
- Opérateur supérieur à .
- Indique la fin d'un nom d'en-tête dans
-
- une #include directive
- une __has_include expression de préprocesseur (depuis C23)
- une #embed directive (depuis C23)
- une __has_embed expression de préprocesseur (depuis C23)
-
emplacements définis par l'implémentation dans une
#pragmadirective
<=
>=
&&
||
<<
>>
<<=
>>=
++
--
,
- Opérateur virgule .
- Séparateur de liste dans
-
- la liste des déclarateurs dans une déclaration
- la liste d'initialisation dans une initialisation , incluant les littéraux composés (depuis C99)
- la liste d'arguments dans une expression d'appel de fonction
- la liste des énumérateurs dans une déclaration enum
- une liste de paramètres de fonction
- la liste des paramètres de macro dans une définition de macro de type fonction
- la liste d'arguments de macro dans une invocation de macro de type fonction , sauf si trouvée entre une paire de parenthèses intérieure
- la liste d'associations génériques dans une expression de sélection générique (depuis C11)
- une liste d'attributs (depuis C23)
- Dans une déclaration d'assertion statique , sépare les arguments. (depuis C11)
- Dans une expression de sélection générique , sépare l'expression de contrôle et la liste d'associations génériques. (depuis C11)
Références
- Norme C23 (ISO/CEI 9899:2024) :
-
- 6.4.6 Ponctuateurs (p: 68-69)
- Norme C17 (ISO/CEI 9899:2018) :
-
- 6.4.6 Ponctuateurs (p: 52-53)
- Norme C11 (ISO/CEI 9899:2011):
-
- 6.4.6 Ponctuateurs (p: 72-73)
- Norme C99 (ISO/CEI 9899:1999) :
-
- 6.4.6 Ponctuateurs (p: 63-64)
- Norme C89/C90 (ISO/CEI 9899:1990) :
-
- 3.1.6 Ponctuateurs
Voir aussi
| Représentations alternatives (C95) | orthographes alternatives pour certains opérateurs |
|
Documentation C++
pour
Ponctuateurs
|
|