Константные выражения C
Константное выражение оценивается во время компиляции, не времени выполнения и может использоваться в любом месте, что можно использовать константу.Константное выражение должно возвращать константу, которая находится в диапазоне репрезентабельных значений этого типа.Операнды константные выражения могут быть константами целого числа, константами знака константами с плавающей запятой, константами перечисления, приведениями типов sizeof выражения и другие константные выражения.
Синтаксис
константное выражение.
условное выражениеусловное выражение.
логически-ИЛИ-выражениелогически-ИЛИ-выражение- Выражение**.** условное выражение
Выражение.
назначение-выражениеВыражение**"** назначение-выражение
назначение-выражение.
условное выражениеназначение-выражение назначение-оператора унарн-выражения
назначение-оператор. один из
= *=/= %= += - = ^= &= <<= >>= |=
Nonterminals для декларатора структуры перечислителя, непосредственно декларатора, декларатора непосредственн-аннотации и указанной выписки содержат константное выражение нетерминально.
Объединенный константное выражение необходимо использовать для определения размера элемента бит-поля структуры, значения констант перечисления, размер массива или значения a case константа.
Константные выражения, используемые в директивах препроцессора подлежит дополнительные ограничения.Следовательно, их как "ограниченные константные выражения". Ограниченное константное выражение не может содержать sizeof выражение константы перечисления, приведения типов к любым типом или константы перемещаемый-типа.Однако он может содержать специальные константное выражение defined (Идентификатор).