Поделиться через


Префиксные операторы увеличения и уменьшения

Унарные операторы (++ и ––) называются операторами префиксного инкремента или декремента, если операторы инкремента или декремента отображаются перед операндом. Постфиксный инкремент и декремент имеют более высокий приоритет, чем префиксный инкремент и декремент. Операнд должен принадлежать целочисленному типу, типу с плавающей запятой или типу указателя и должен быть изменяемым выражением l-значения (выражением без атрибута const). В результате получается l-значение.

Если оператор отображается перед операндом, операнд увеличивается или уменьшается, и результат выражения будет его новым значением.

Операнд целочисленного типа или типа с плавающей запятой инкрементируется или декрементируется на целое значение 1. Тип результата совпадает с типом операнда. Операнд типа указателя инкрементируется или декрементируется на значение размера объекта, к которому он относится. Инкрементированный указатель указывает на следующий объект, а декрементированный — на предыдущий.

Пример

В следующем примере показан унарный оператор префиксного декремента.

if( line[--i] != '\n' )
    return;

В этом примере переменная i уменьшена до использования в качестве нижнего индекса line.

См. также

Ссылки

Унарные операторы C