Константные выражения C

Константное выражение оценивается во время компиляции, не времени выполнения и может использоваться в любом месте, что можно использовать константу.Константное выражение должно возвращать константу, которая находится в диапазоне репрезентабельных значений этого типа.Операнды константные выражения могут быть константами целого числа, константами знака константами с плавающей запятой, константами перечисления, приведениями типов sizeof выражения и другие константные выражения.

Синтаксис

  • константное выражение.
    условное выражение

  • условное выражение.
    логически-ИЛИ-выражение

    логически-ИЛИ-выражение- Выражение**.** условное выражение

  • Выражение.
    назначение-выражение

    Выражение**"** назначение-выражение

  • назначение-выражение.
    условное выражение

    назначение-выражение назначение-оператора унарн-выражения

  • назначение-оператор. один из
    = *=/= %= += - = ^= &= <<= >>= |=

Nonterminals для декларатора структуры перечислителя, непосредственно декларатора, декларатора непосредственн-аннотации и указанной выписки содержат константное выражение нетерминально.

Объединенный константное выражение необходимо использовать для определения размера элемента бит-поля структуры, значения констант перечисления, размер массива или значения a case константа.

Константные выражения, используемые в директивах препроцессора подлежит дополнительные ограничения.Следовательно, их как "ограниченные константные выражения". Ограниченное константное выражение не может содержать sizeof выражение константы перечисления, приведения типов к любым типом или константы перемещаемый-типа.Однако он может содержать специальные константное выражение defined (Идентификатор).

См. также

Основные понятия

Операнды и выражения