Операции, уровень приоритета которых равен 2

Унарные операции. Для унарных операций требуется только один операнд; эти операции либо префиксные, либо постфиксные. Операция sizeof имеет два варианта: префиксная операция и унарная операция.

Операция косвенной ссылки: *

Это указатель на любой тип T, кроме void. Тип результата T.

Использование:

*pe

Значением выражения является переменная, адресуемая указателем pe.

Пример 1:

*ptr=c;

Пример 2:

*fpe;

Значением выражения является функция, адресуемая указателем fpe.

Пример 3:

fpe=*funcname;(*fpe)(arg1, arg2);

Операция получения адреса: &

У этой операции тип операнда есть переменная любого типа, кроме void. Тип результата - указатель на Т.

Использование:

&v

Значением выражения является адрес переменной v.

Пример:

myptr=&n;

Операция отрицания: -

Тип операнда - арифметический. Тип результата: unsigned, long, double, int.

Операция логического отрицания:!

Тип операнда - арифметический или указатель. Тип результата - int. Если операнд равен 0, то результат равен 1 и наоборот.

Пример:

if(!good) printf("not good");

Операция дополнения до 1: ~

Тип операнда - интегральный. Тип результата: int, long, unsigned.

Пример:

opposite=~mask;

Дополнение до единицы значения mask. Результат присваивается переменной opposite.

Операция увеличения: ++

Тип операнда - арифметический или указатель. Тип результата: int, unsigned, long, double, указатель. Значение операнда увеличивается, и становится новым значением операнда. Значение указателя увеличивается на величину указываемого объекта, значения других операндов увеличиваются на единицу.

Операция увеличения, постфиксная: ++

Тип операнда - арифметический или указатель. Тип результата: int, unsigned, long, double, указатель. Значение операнда увеличивается, но возвращается старое значение операнда. Значение указателя увеличивается на величину указываемого объекта, другие операнды увеличиваются на единицу.

Использование:

iv++

Увеличение iv на 1. Значением этого выражения является значение iv до увеличения.

Пример:

j=i++;

Использование:

pv++;

Увеличение указателя pv на 1, так что он будет указывать на следующий объект того же типа. Значением этого выражения является значение pv до увеличения.

Пример:

*ptr++=0;

Присвоить значение 0 переменной, на которую указывает ptr, затем увеличить значение указателя ptr так, чтобы он указывал на следующую переменную того же типа.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: