C ++ läbivad massiivid funktsiooniparameetritena (koos näidetega)

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,

  1. Kui kutsume funktsiooni, edastades argumendina massiivi, kasutatakse ainult massiivi nime.
     display(marks);
    Argumendimärgid tähistavad siin massiivimärkide (5) esimese elemendi mäluaadressi.
  2. Pange siiski tähele display()funktsiooni parameetrit .
     void display(int m(5))
    Siin kasutame funktsiooni parameetris massiivi täielikku deklaratsiooni, sealhulgas ruudukujulisi traksidega ().
  3. Funktsiooni parameeter int m(5)teisendatakse väärtuseks int* 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.

Huvitavad Artiklid...