Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



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

Читайте также:
  1. II. Выберите слово, противоположное по значению данному.
  2. Безоплатна передача земельних ділянок у власність громадян
  3. Билет 25. Производство, передача и распределение электрической энергии.
  4. Билет 59. Прокатные станы классифицируют по назначению и расположению рабочих клетей
  5. Важность числа аргументов
  6. Внимание к прямой почтовой рассылке и телефонному маркетингу
  7. ВОПРОС 1. Передача нотариусом заявлений физических и юридических лиц.
  8. ВОПРОС 4. Передача наследственного имущества в доверительное управление
  9. Вторая передача
  10. Вторая передача

Передача значений аргументов при вызове процедуры или функции по ссылке (в списке аргументов для передаваемого таким образом аргумента используется ключевое словоByRef) означает, что вызываемой процедуре или функции передается адрес ячейки памяти, по которому хранится значение аргумента (т.е. вызываемая процедура или функция для работы с переданным по ссылке аргументом использует ту же ячейку или область памяти, что и вызывающая процедура пли функция). При этом не выделяется дополнительная память для работы с переданным аргументом в вызываемой программе. Изменение значения аргумента в вызываемой процедуре или в функции означает изменение значения и в вызывающей процедуре или в функции (используется одна и та же ячейка или область памяти).

Передача по ссылке (ее поясняет рис 13.2) определена по умолчанию.

Рис. 13.2. Пояснение связи по ссылке

 

Передача значений аргументов при вызове процедуры или функции по значению (в списке аргументов используется ключевое словоByVal) означает, что для аргумента выделяется дополнительная ячейка или область памяти, в которую записывается значение передаваемого аргумента. Изменения значения аргумента в вызываемой процедуре или в функции не ведут к изменению аргумента в вызывающей процедуре или в функции, так как вызываемая процедура или функция использует для аргумента другую ячейку или область памяти аналогично локальным данным (см. рис. 13.3). Это удобно, если модификация данных необходима только внутри вызываемой процедуры или функции и нет необходимости передавать измененные данные обратно в вызывающую процедуру или функцию.

Вместе с тем передача по значению (выделение дополнительной памяти) приводит к неэффективному использованию памяти. В связи с этим, для строк символов и массивов нецелесообразно использовать передачу по значению.

Рис. 13.3. Пояснение связи по значению

 


Дата добавления: 2014-12-03; просмотров: 7; Нарушение авторских прав


<== предыдущая лекция | следующая лекция ==>
Пример 4. Задана матрица а, имеющая кa строк и la столбцов, а также матрица b, имеющая кb строк и lb столбцов и матрица с | Точка останова
lektsii.com - Лекции.Ком - 2014-2019 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты