Compartilhar via


Expressões constantes C

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.

Consulte também

Operandos e expressões