Язык программирования C

Скачать в pdf «Язык программирования C»


Возможность указывать на элемент, расположенный сразу за концом массива, является новой. Тем самым узаконена ставшая уже стандартной конструкция для циклического перебора элементов массива.


Результатом выполнения операции — (минус) является разность операндов. Из указателя можно вычитать число или выражение любого целочисленного типа с теми же преобразованиями и при тех же условиях, что и в сложении.


Если к двум указателям на объекты одного и того же типа применить операцию вычитания, то в результате получится целочисленное значение со знаком, представляющее собой расстояние между указываемыми объектами; так, указатели на два соседних объекта отличаются на единицу. Тип результата зависит от реализации; в стандартном заголовочном файле <stddef .h> такой тип определен под именем ptrdif f_t. Значение не определено, если указатели не указывают на объекты одного и того же массива; однако если Р указывает на последний элемент массива, то выражение (Р+1) -Р имеет значение 1.

А.7.8. Операции сдвига


Операции сдвига << и >> группируются слева направо. Каждый операнд обеих операций должен иметь целочисленный тип, и каждый из них подвергается расширению типа. Результат имеет тот же тип, что и левый операнд после расширения. Результат не определен, если правый операнд отрицателен либо больше или равен количеству битов в типе левого выражения. выражение-со -сдвигом:


аддитивное-выражение


выражение-со-сдвигом << аддитивное-выражение выражение-со-сдвигом >> аддитивное-выражение


Значение Е1<<Е2 равно значению Е1 (воспринимаемому как набор битов), сдвинутому влево на Е2 битов; при отсутствии переполнения такая операция эквивалентна умножению на 2е2. Значение Е1>>Е2 равно значению Е1, сдвинутому вправо на Е2 битовых позиций. Если Е1 — величина без знака или неотрицательное значение, то сдвиг вправо эквивалентен делению на 2е2; в противном случае результат зависит от реализации.

Скачать в pdf «Язык программирования C»