C ++ передає масиви як параметри функції (з прикладами)

У цьому підручнику ми дізнаємось, як передавати одновимірний та багатовимірний масив як параметр функції в C ++ за допомогою прикладів.

У C ++ ми можемо передавати масиви як аргумент функції. А також ми можемо повернути масиви з функції.

Перш ніж дізнатися про передачу масивів як аргументу функції, переконайтеся, що знаєте про масиви С ++ та функції С ++.

Синтаксис передачі масивів як параметрів функції

Синтаксис передачі масиву функції:

 returnType functionName(dataType arrayName(arraySize)) ( // code )

Подивимось приклад,

 int total(int marks(5)) ( // code )

Тут ми передали функції intмасив типів з іметками total(). Розмір масиву - 5.

Приклад 1: Передача одновимірного масиву функції

 // C++ Program to display marks of 5 students #include using namespace std; // declare function to display marks // take a 1d array as parameter void display(int m(5)) ( cout << "Displaying marks: " << endl; // display array elements for (int i = 0; i < 5; ++i) ( cout << "Student " << i + 1 << ": " << m(i) << endl; ) ) int main() ( // declare and initialize an array int marks(5) = (88, 76, 90, 61, 69); // call display function // pass array as argument display(marks); return 0; )

Вихідні дані

 Відображення оцінок: Студент 1: 88 Студент 2: 76 Студент 3: 90 Студент 4: 61 Студент 5: 69

Ось,

  1. Коли ми викликаємо функцію, передаючи масив як аргумент, використовується лише ім'я масиву.
     display(marks);
    Тут позначки аргументів представляють адресу пам'яті першого елемента позначок масиву (5).
  2. Однак зверніть увагу на параметр display()функції.
     void display(int m(5))
    Тут ми використовуємо повне оголошення масиву у параметрі функції, включаючи квадратні дужки ().
  3. Параметр функції int m(5)перетворюється на int* m;. Це вказує на ту саму адресу, на яку вказують позначки масиву. Це означає, що коли ми маніпулюємо m (5) у тілі функції, ми фактично маніпулюємо оригінальними позначками масиву.
    C ++ обробляє передачу масиву функції таким чином, щоб заощадити пам’ять і час.

Передача багатовимірного масиву функції

Ми також можемо передавати багатовимірні масиви як аргумент функції. Наприклад,

Приклад 2: Передача багатовимірного масиву функції

 // C++ Program to display the elements of two // dimensional array by passing it to a function #include using namespace std; // define a function // pass a 2d array as a parameter void display(int n()(2)) ( cout << "Displaying Values: " << endl; for (int i = 0; i < 3; ++i) ( for (int j = 0; j < 2; ++j) ( cout << "num(" << i << ")(" << j << "): " << n(i)(j) << endl; ) ) ) int main() ( // initialize 2d array int num(3)(2) = ( (3, 4), (9, 5), (7, 1) ); // call the function // pass a 2d array as an argument display(num); return 0; ) 

Вихідні дані

 Відображення значень: num (0) (0): 3 num (0) (1): 4 num (1) (0): 9 num (1) (1): 5 num (2) (0): 7 num ( 2) (1): 1

У наведеній вище програмі ми визначили функцію з іменем display(). Функція приймає двовимірний масив int n()(2)як свій аргумент і друкує елементи масиву.

Під час виклику функції ми передаємо лише ім’я двовимірного масиву як аргумент функції display(num).

Примітка : Не обов’язково вказувати кількість рядків у масиві. Однак кількість стовпців слід завжди вказувати. Ось чому ми використовували int n()(2).

Ми також можемо передавати масиви з більш ніж 2 вимірами як аргумент функції.

C ++ Повернення масиву з функції

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

Про повернення масивів із функції ми дізнаємось у наступних підручниках.

Цікаві статті...