Масиви як параметри функцій

Масиви можна використовувати як параметри функцій. Нагадаємо, що передача аргументів у функцію здійснюється:

  • за значенням;
  • через посилання;
  • через покажчики.

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

В С++ масиви завжди передаються функціями через покажчики. Це пов’язано з тим, що ім’я масиву є покажчиком на його перший елемент:

В результаті виконання програми побачимо, що і по імені масиву  mas, і по адресі першого елемента &mas[0] виводиться та ж сама адреса комірки пам’яті:

Разом з покажчиком на масив слід передавати кількість елементів масиву, тому що покажчик на масив визначає адресу його першого елемента, а обсяг пам’яті, що її займає масив, визначатиметься кількістю елементів. Використання адрес елементів масиву забезпечує можливість безпосередньо змінювати їх вміст.

Наприклад. Заповнити масив цілими числами від 1 до n:

У визначенні функції параметр int mas[] визначає покажчик на масив, параметр int n – кількість елементів масиву, яка буде оброблена. Розмір масиву в квадратних дужках писати не потрібно, компілятор його буде ігнорувати.

Для того, щоб викликати функцію з параметром масивом необхідно вказати в якості параметру функції тільки назву масиву без дужок: fillMass (mas, n).

Примітка! Виклик функції fillMass(mass[n], size) передасть у функцію не масив, а значення елемента з індексом n, що викличе помилку компілятора.

Синтаксис посилань у вигляді & не застосовується до імені масиву під час оголошення його у функції.

 

 

1+

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *