У овом упутству научићемо како уз помоћ примера проследити једнодимензионални и вишедимензионални низ као функцијски параметар у Ц ++.
У Ц ++, можемо проследити низове као аргумент функцији. Такође, можемо вратити низове из функције.
Пре него што научите о прослеђивању низова као аргумента функције, побрините се да знате Ц ++ низове и Ц ++ функције.
Синтакса за просљеђивање низова као параметара функције
Синтакса за прослеђивање низа функцији је:
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
Ево,
- Када позивамо функцију прослеђујући низ као аргумент, користи се само име низа.
display(marks);
- Међутим, обратите пажњу на параметар
display()
функције.void display(int m(5))
()
. - Параметар функције
int m(5)
претвара уint* m;
. Ово упућује на исту адресу на коју указују ознаке низа. То значи да када манипулишемо м (5) у телу функције, заправо манипулишемо оригиналним ознакама низа.
Ц ++ на овај начин обрађује прослеђивање низа функцији ради уштеде меморије и времена.
Прослеђивање вишедимензионалног низа функцији
Такође можемо проследити вишедимензионалне низове као аргумент функцији. На пример,
Пример 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; )
Оутпут
Приказивање вредности: нум (0) (0): 3 нум (0) (1): 4 нум (1) (0): 9 нум (1) (1): 5 нум (2) (0): 7 нум ( 2) (1): 1
У горе наведеном програму дефинисали смо функцију именовану display()
. Функција узима дводимензионални низ int n()(2)
као свој аргумент и исписује елементе низа.
Док позивамо функцију, као аргумент функције прослеђујемо само име дводимензионалног низа display(num)
.
Напомена : Није обавезно навођење броја редова у низу. Међутим, увек треба навести број колона. Због тога смо користили int n()(2)
.
Такође можемо да проследимо низове са више од 2 димензије као аргумент функције.
Ц ++ Враћање низа из функције
Такође из функције можемо вратити низ. Међутим, стварни низ се не враћа. Уместо тога, адреса првог елемента низа се враћа уз помоћ показивача.
О враћању низова из функције научићемо у наредним водичима.