Selles õpetuses õpime näidete abil ühemõõtmelist ja mitmemõõtmelist massiivi funktsiooni parameetrina C ++ -s edastama.
C ++ versioonis võime funktsiooni argumendina edastada massiivid. Samuti võime massiive funktsioonist tagastada.
Enne kui saate teada massiivide edastamisest funktsiooni argumendina, veenduge, et teaksite C ++ massiive ja C ++ funktsioone.
Massiivide kui funktsiooniparameetrite edastamise süntaks
Massiivi funktsioonile edastamise süntaks on:
 returnType functionName(dataType arrayName(arraySize)) ( // code )
Vaatame näite,
 int total(int marks(5)) ( // code )
Siin oleme edastanud intfunktsioonile massiivi nimega märgid total(). Massiivi suurus on 5.
Näide 1: Ühemõõtmelise massiivi edastamine funktsioonile
 // 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; )
Väljund
Kuvatakse märgid: õpilane 1: 88 õpilane 2: 76 õpilane 3: 90 õpilane 4: 61 õpilane 5: 69
Siin,
- Kui kutsume funktsiooni, edastades argumendina massiivi, kasutatakse ainult massiivi nime. 
 Argumendimärgid tähistavad siin massiivimärkide (5) esimese elemendi mäluaadressi.display(marks);
- Pange siiski tähele display()funktsiooni parameetrit .
 Siin kasutame funktsiooni parameetris massiivi täielikku deklaratsiooni, sealhulgas ruudukujulisi traksidegavoid display(int m(5))().
- Funktsiooni parameeter int m(5)teisendatakse väärtuseksint* m;. See osutab samale aadressile, mille tähistavad massiivimärgid. See tähendab, et kui me manipuleerime funktsiooniga kehas m (5), siis me tegelikult manipuleerime algsete massiividega.
 C ++ haldab massiivi edastamist funktsioonile sel viisil, et säästa mälu ja aega.
Mitmemõõtmelise massiivi edastamine funktsioonile
Funktsiooni argumendina võime edastada ka mitmemõõtmelisi massiive. Näiteks,
Näide 2: mitmemõõtmelise massiivi edastamine funktsioonile
 // 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; ) 
Väljund
Kuvatakse väärtused: num (0) (0): 3 num (0) (1): 4 num (1) (0): 9 num (1) (1): 5 num (2) (0): 7 num ( 2) (1): 1
Ülalolevas programmis oleme määranud funktsiooni nimega display(). Funktsioon võtab kahemõõtmelise massiivi int n()(2)oma argumendina ja prindib massiivi elemendid.
Funktsiooni kutsumisel edastame funktsiooni argumendina ainult kahemõõtmelise massiivi nime display(num).
Märkus . Massiivi ridade arvu määramine pole kohustuslik. Veergude arv tuleks siiski alati täpsustada. Sellepärast oleme seda kasutanud int n()(2).
Funktsiooni argumendina võime edastada ka rohkem kui 2 mõõtmega massiive.
C ++ Massiivi tagastamine funktsioonist
Samuti võime funktsioonist massiivi tagastada. Kuid tegelikku massiivi ei tagastata. Selle asemel tagastatakse massiivi esimese elemendi aadress osutite abil.
Massiivide tagastamise funktsioonist saame teada järgmistest õpetustest.








