Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.