Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une expression constante est évaluée au moment de la compilation, pas au moment de l’exécution et peut être utilisée à n’importe quel endroit où une constante peut être utilisée. L’expression constante doit être évaluée à une constante qui se trouve dans la plage de valeurs représentées pour ce type. Les opérandes d’une expression constante peuvent être des constantes entières, des constantes de caractères, des constantes à virgule flottante, des constantes d’énumération, des casts de type, sizeof des expressions et d’autres expressions constantes.
Syntaxe
constant-expression :
conditional-expression
conditional-expression :
logical-OR-expression
logical-OR-expression
?
expression
:
conditional-expression
expression :
assignment-expression
expression
,
assignment-expression
assignment-expression :
conditional-expression
unary-expression
assignment-operator
assignment-expression
assignment-operator: l’une des
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
Les éléments non déterminaux pour le déclarateur de struct, l’énumérateur, le déclarateur direct, le déclarateur direct-abstrait et l’instruction étiquetée contiennent l’instruction constant-expression non déterministe.
Une expression constante intégrale doit être utilisée pour spécifier la taille d’un membre de champ de bits d’une structure, la valeur d’une constante d’énumération, la taille d’un tableau ou la valeur d’une case constante.
Les expressions constantes utilisées dans les directives de préprocesseur sont soumises à plusieurs restrictions. Elles sont appelées expressions constantes restreintes . Une expression constante restreinte ne peut pas contenir sizeof d’expressions, de constantes d’énumération, de casts de types en constantes de type flottant ou de type flottant. Toutefois, il peut contenir l’identificateur) d’expression defined ( constante spéciale.