Compartir a través de


Expresiones constantes de C

Una expresión constante se evalúa en tiempo de compilación, no en tiempo de ejecución y se puede usar en cualquier lugar en el que se pueda usar una constante. La expresión constante debe evaluarse como una constante que se encuentra en el intervalo de valores que se pueden representar para ese tipo. Los operandos de una expresión constante pueden ser constantes enteras, constantes de caracteres, constantes de punto flotante, constantes de enumeración, conversiones de tipos, sizeof expresiones y otras expresiones constantes.

Sintaxis

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: uno de
= *= /= %= += -= <<= >>= &= ^= |=

Los noterminales para el declarador de estructura, el enumerador, el declarador directo, el declarator abstracto directo y la instrucción etiquetada contienen el constant-expression noterminal.

Se debe usar una expresión constante integral para especificar el tamaño de un miembro de campo de bits de una estructura, el valor de una constante de enumeración, el tamaño de una matriz o el valor de una case constante.

Las expresiones constantes usadas en las directivas de preprocesador están sujetas a varias restricciones. Se conocen como expresiones constantes restringidas . Una expresión constante restringida no puede contener sizeof expresiones, constantes de enumeración, conversiones de tipo a cualquier tipo o constantes de tipo flotante. Sin embargo, puede contener el identificador) de expresión defined ( constante especial.

Consulte también

Operandos y expresiones