пользователей: 21258
предметов: 10464
вопросов: 177980
Конспект-online
зарегистрируйся или войди через vk.com чтобы оставить конспект.
РЕГИСТРАЦИЯ ЭКСКУРСИЯ


Операции с указателями. Использование указателей в качестве аргументов функций

  • Получение (взятие) адреса осуществляется с помощью унарного оператора &.

-оператор взятия адреса применяют только к переменным и элементам массива.

-операндом оператора адресации не может быть: выражение, константа, регистровая переменная

  • Операция раскрытия ссылки (разыменование) ( * )

- * - унарный оператор. Он возвращает значение обьекта, расположенного по указанному адресу

  • Операция присваивания - присваивает значение обьекту, ссылка на который задана указателем.

Одно и то же значение может быть присвоено более, чем одной переменной.

Для указателей одного типа является допустимой операция присваивания.
Указателю неопределенного типа может быть присвоено значение адреса любого типа, но не наоборот

 

Над указателями можно выполнять унарные операции: инкремент и декремент. При выполнении операций ++ и -- значение указателя увеличивается или уменьшается на длину типа, на который ссылается используемый указатель.

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

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

Значения двух указателей на одинаковые типы можно сравнивать в операциях ==, !=, <, <=, >, >= при этом значения указателей рассматриваются просто как целые числа, а результат сравнения равен 0 (ложь) или 1 (истина).


Аргументы в функцию передаются по значению и по ссылке

По значению: функция не может изменить переменную из вызываемой функции.

По ссылке: получает не значение, а адрес, по которому находится переменная, и , как следствие, вызываемая функция может изменить значение переменной в вызывающей функции.
Формальный параметр в заголовке функции называют параметром-указателем, если перед его именем стоит " * "

Кроме явных параметров-указателей в обьявлении функции можно использовать косвенные параметры-указатели, описанные с помощью #define

Для вызова функции, параметрами которой являются указатели, в качестве фактических аргументов нужно задавать адреса переменных, то есть имена с предшествующим символом &

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

В отличие от указателя, доступ по ссылке не требует добавления к имени переменной какого-либо символа, то есть на месте фактических параметров записывают просто имена обьектов.

По ссылке можно передавать не только имена переменных, но и имена указателей.

 


13.06.2016; 18:58
хиты: 2
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2016. All Rights Reserved. помощь