Студопедия

Главная страница Случайная страница

Разделы сайта

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






Передача параметров по ссылке.






Поддержка модульности. Функции, параметры, передача параметров. Область видимости и область существования. Встроенные и собственные типы данных. Структура программы.

Поддержка модульности. Модуль - это файл с расширением.h (заголовочные файлы) который мы сами создаём в нашей программе или базовый файл (т.е. он уже встроен в c++ - это например модуль math), или.cpp – заполняемые файлы(исходники). Если модуль написан в таких скобка < >, то это встроенный модуль, а если в кавычках " ", то это модуль который создали мы.

Функции.



Функция – это законченная часть кода, к которому можно обратиться по имени, т.е. вызвать функцию. В момент вызова функция начинает выполняться. Общий вид:

тип имя (список параметров, которые мы функции будем передавать) {

тело функции (оперируем с этими параметрами)

return c;

}.

Пример функции:

int f(int a, int b) {

int c=a*b;

return c;

}

Параметры.

Параметры – это те же самые аргументы, которые принимают значения объявленных переменных. Они создаются при входе в функцию и уничтожаются при выходе из нее. Параметрам можно присваивать значения или использовать в любых выражениях.

int f(int a, int b)

{

if(a==b) return 1;

else

return 0;

}

Функция f() имеет два параметра: a и b. Она возвращает 1, если символ a=b и 0 если нет.

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

В языках программирования существуют два способа передачи аргументов в подпрограмму: передача параметров по значению и по ссылке. По умолчанию в языке С++ применяется передача по значению. Код, образующий тело функции, не может изменять аргументы, указанные при ее вызове. Параметру подпрограммы присваивается копия значения аргумента, и все изменения параметра никак не отражаются на аргументе.

#include " stdafx.h"

#include < iostream>

using namespace std;

int sqr(int x)

{

x=x*x;

return(x);

}

main()

{

int a=sqr(10);

cout< < a;

}

Передача параметров по ссылке.

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

При использовании этого метода параметру присваивается адрес аргумента. Внутри подпрограммы этот адрес открывает доступ к фактическому аргументу. Это значит, что все изменения, которым подвергается параметр, отражаются на аргументе.

#include " stdafx.h"

#include < iostream>

using namespace std;

int f(int & k){k*=2; return k; }

void main(){int y=3, k;

k=f(y);

cout< < y;

}






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.