русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Массивы в качестве аргументов функций.


Дата добавления: 2015-08-31; просмотров: 801; Нарушение авторских прав


Как и другие переменные, массивы могут передаваться функциям в качестве аргументов.

НО! Если в качестве аргумента функции используется массив, то в функцию будет передаваться адрес первого элемента массива. Из этого следует, что присваивание элементу массива, являющегося аргументом, изменяет значение элемента самого массива. Другими словами, массивы отличаются от других типов тем, что их нельзя передать по значению. Массивы всегда передаются по ссылке.

Размер массива неизвестен в вызываемой функции. Приходится передавать его через дополнительный аргумент.

 

В следующем примере функция sumArray вычисляет сумму элементов массива.

#include <iostream>

using namespace std;

 

int sumArray(int[], int);

 

int main () {

const int size_m = 5;

int m[size_m];

for (int i=0; i<size_m; i++){

m[i]=i;

}

for (int i=0; i<size_m; i++){

cout << m[i] << " ";



}

cout << "\nСумма = " << sumArray(m, size_m) << "\n";

return 0;}

 

int sumArray(int arr[], int n){

int s=0;

for (int i=0; i<n; i++) {

s+=arr[i];

}

return s;

}

 

Следующий пример демонстрирует, что аргумент-массив всегда передается по ссылке.

#include <iostream>

using namespace std;

 

void squareArray(int arr[], int n){

for (int i=0; i<n; i++) arr[i]=arr[i]*arr[i];

}

 

int main () {

const int size_m = 5;

int m[size_m];

for (int i=0; i<size_m; i++){

m[i]=i;

}

cout << "Начальный массив: \n";

for (int i=0; i<size_m; i++){

cout << m[i] << " ";



}

squareArray(m, size_m);

cout << "\nКонечный массив: \n";

for (int i=0; i<size_m; i++){

cout << m[i] << " ";



}

return 0;

}

 




<== предыдущая лекция | следующая лекция ==>
Массивы | Задачи.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.167 сек.