Partilhar 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 que uma constante possa ser usada. A expressão constante deve ser avaliada para uma constante que esteja no intervalo de valores representáveis para esse tipo. Os operandos de uma expressão constante podem ser constantes inteiras, constantes de caracteres, constantes de vírgula flutuante, constantes de enumeração, moldes 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 não-terminais para struct declarator, enumerator, direct declarator, direct-abstract declarator e labeled statement contêm o constant-expression nonterminal.

Uma expressão constante integral deve ser usada para especificar o tamanho de um membro de campo de bits de uma estrutura, o valor de uma constante de enumeração, o tamanho de uma matriz ou o valor de uma case constante.

As expressões constantes usadas nas diretivas de pré-processador estão sujeitas a várias restrições. São conhecidas como expressões constantes restritas . Uma expressão constante restrita não pode conter sizeof expressões, constantes de enumeração, versões de tipo para qualquer tipo ou constantes de tipo flutuante. Pode, no entanto, conter o identificador) de expressão defined ( constante especial.

Ver também

Operandos e expressões