Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma expressão constante é avaliada em tempo de compilação, não em tempo de execução e pode ser usada em qualquer lugar em que uma constante possa ser usada. A expressão constante deve ser avaliada como uma constante que esteja no intervalo de valores representáveis para esse tipo. Os operandos de uma expressão constante podem ser constantes inteiros, constantes de caracteres, constantes de ponto flutuante, constantes de enumeração, conversões de tipo, sizeof expressões e outras expressões constantes.
Sintaxe
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: um dos
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
Os nonterminals para declarador de struct, enumerador, declarador direto, declarador de resumo direto e instrução rotulada contêm o constant-expression não terminal.
Uma expressão constante integral deve ser usada para especificar o tamanho de um membro de campo de bit de uma estrutura, o valor de uma constante de enumeração, o tamanho de uma matriz ou o valor de uma case constante.
Expressões constantes usadas em diretivas de pré-processador estão sujeitas a várias restrições. Elas são conhecidas como expressões constantes restritas . Uma expressão constante restrita não pode conter sizeof expressões, constantes de enumeração, conversões de tipo em qualquer tipo ou constantes de tipo flutuante. No entanto, ele pode conter o identificador) de expressão de constante defined ( especial.