Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Return 0;



}

Функция Div находит результат и остаток от деления параметра N1 на N2. Результат деления возвращается через имя функции, а остаток через параметр Ost.

Для того чтобы обеспечить возвращение вычисленного внутри функции остатка, соответствующий параметр функции определен как указатель (int *Ost). При вызове функции в качестве аргумента для этого параметра был использован адрес переменной &O, а не само значение переменной O. При вычислении остатка внутри функции выполняется разыменование параметра Ost (*Ost - обращение по адресу, хранящемуся в параметре Ost), и вычисленный остаток записывается по этому адресу (то есть в переменную O). Таким образом, значение переменной O изменяется.

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

Таким образом, для использования передачи данных с помощью указателей необходимо обязательно выполнить три следующих пункта:

1. Соответствующий параметр в заголовке функции необходимо определить как указатель на тип данных аргумента.

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

3. При обращении внутри функции к значению аргумента через параметр-указатель необходимо осуществить разыменование этого указателя.

Несколько проще обстоит дело с передачей массивов, так как переменные типа массив сами являются указателями на первый элемент массива. В связи с этим отпадает необходимость в выполнении пунктов 2 и 3 из перечисленных выше. Рассмотрим пример:

void ReadArr (int *P, int n)

{

for (int I = 0; I < n; ++I)

cin >> P[I];

}

void WriteArr (int Arr[], int n)

{

for (int I = 0; I < n; ++I)

cout << Arr[I] << “ “;

cout << endl;

}





Дата публикования: 2014-11-28; Прочитано: 204 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...