Выражения над структурами допускаются только в операторе присваивания и как аргументы процедур и функций. Операндами такого выражения, помимо структур, могут быть константы, указатели функций и имена переменных; имена массивов не могут быть операндами выражений над структурами. Все операнды-структуры должны иметь идентичную организацию. Результатом вычисления выражения над структурами является структура с той же организацией, что и у операндов-структур. Выражение, хотя бы один операнд которого является имя массива структур, называется выражением над массивами структур. Операндами такого выражения, помимо массивов структур, могут быть константы, указатели функций и имена переменных; имена массивов переменных и имена структур не могут быть операндами выражений над массивами структур. Все массивы структур, являющиеся опе6рандами одного выражения, должны иметь одинаковую размерность, одинаковые границы индексов и идентичную организацию элементов-структур. Результатом вычисления выражения над массивами структур является массив структур с той же размерностью и границами индексов, что и у операндов-массивов, и с такой же, как у них организацией элементов структур.
Для установки значений всех элементов структуры применим оператор присваивания вида
V1, V2, … , Vn=e; ,
где Vi – имя структуры, e – либо скалярное выражение, либо выражение над структурами. Все структуры Vi и структура e должны иметь идентичную организацию.
Для установки значений всех элементов массива структур применим оператор присваивания вида
V1, V2, … , Vn=e; ,
где Vi – имя массива структуры, e – либо скалярное выражение, либо выражение над массивами структур. Все массивы Vi и массив e должны иметь одинаковую размерность, одинаковые границы индексов и идентичную организацию элементов-структур.
В PL/1 существует понятие ограничивающих выражений. Ограничивающее выражение является выражением, чьё значение вычисляется во время компиляции программы и в дальнейшем используется как константа.
Отправить комментарий