Язык С

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


В нескольких местах в языке "C" требуются выражения, ко- торые после вычисления становятся константами: после вариан- тного префикса CASE, в качестве границ массивов и в инициа- лизаторах. В первых двух случаях выражение может содержать только целые константы, символьные константы и выражения SIZEOF, возможно связанные либо бинарными операциями

+ - * / . % & \! Ч << >> == 1= <> <= >=

либо унарными операциями

- \^

либо тернарной операцией ?:

Круглые скобки могут использоваться для группировки, но не для обращения к функциям.

В случае инициализаторов допускается большая (ударение на букву о) свобода; кроме перечисленных выше константных выражений можно также применять унарную операцию & к внешним или статическим объектам и к внешним или статическим масси- вам, имеющим в качестве индексов константное выражение. Унарная операция & может быть также применена неявно, в ре- зультате появления неиндексированных массивов и функций. Ос- новное правило заключается в том, что после вычисления ини- циализатор должен становится либо константой, либо адресом ранее описанного внешнего или статического объекта плюс или минус константа.



    Содержание раздела