Expressions constantes C
Une expression constante est évaluée au moment de la compilation, non au moment de l'exécution, et peut être utilisée dans tous les emplacements qu'une constante peut être utilisée.L'expression constante doit prendre une constante qui est comprise dans la plage des valeurs représentables pour ce type.Les opérandes d'une expression constante peuvent être des constantes entières, les constantes caractère, des constantes à virgule flottante, des constantes d'énumération, des casts de type, des expressions d' sizeof , et d'autres expressions constantes.
Syntaxe
expression constante:
expression conditionnelleexpression conditionnelle:
logique-OU-expressionexpression conditionnelledeNuméro de téléphone : d'expressionde**?** de logique-OU-expression
expression:
devoir-expressiondevoir-expression deServeur IIS local d' expression
devoir-expression:
expression conditionnelledevoir-expression d'opérateur d'assignation d'unaire-expression
opérateur d'assignation: un de type
= *=/= %= += - = <<= >>= &= ^= |=
Les éléments non terminaux pour les déclarateurs de struct, l'énumérateur, les déclarateurs direct, les déclarateurs de direct-résumé, et l'instruction étiquetée contiennent l'expression constante non terminale.
Une expression constante intégrale doit être utilisée pour spécifier la taille d'un membre champ de bits d'une structure, la valeur d'une constante d'énumération, de la taille d'un tableau, ou de la valeur d'une constante d' événement .
Les expressions constantes utilisées dans les directives de préprocesseur sont soumises à des restrictions supplémentaires.Par conséquent, ils sont appelés « des expressions constantes restreintes. » Une expression constante restreinte n'en peut pas contenir d'expression d' sizeof , des constantes d'énumération, des casts de type en type, ou des constantes de flottant-type.Il peut, toutefois, contenir l'expression constante spéciale defined (identificateur).