Partager via


Expressions constantes C

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.

Voir aussi

Opérandes et expressions