C ++ átadó tömbök mint függvényparaméterek (példákkal)

Ebben az oktatóanyagban megtanuljuk, hogyan adhatunk át egy- és többdimenziós tömböt a C ++ funkcióparamétereként példák segítségével.

A C ++ - ban tömböket adhatunk át argumentumként egy függvénynek. És visszaadhatjuk a tömböket is egy függvényből.

Mielőtt elsajátítaná a tömbök átadását függvény argumentumként, győződjön meg róla, hogy tud a C ++ tömbökről és a C ++ függvényekről.

Szintaxis a tömbök mint funkcióparaméterek átadására

A tömb függvényhez történő továbbításának szintaxisa:

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

Lássunk egy példát,

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

Itt egy inttípusú tömböt nevezünk el a függvénynek total(). A tömb mérete 5.

1. példa: Egydimenziós tömb átadása egy függvénynek

 // 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; )

Kimenet

 Megjelenítés: Tanuló 1: 88 Tanuló 2: 76 Tanuló 3: 90 Tanuló 4: 61 Tanuló 5: 69

Itt,

  1. Ha egy függvényt úgy hívunk meg, hogy argumentumként egy tömböt adunk át, akkor csak a tömb nevét használjuk.
     display(marks);
    Itt az argumentumjelek a tömbjelek (5) első elemének memóriacímét jelentik.
  2. Figyelje meg azonban a display()függvény paraméterét .
     void display(int m(5))
    Itt a tömb teljes deklarációját használjuk a függvényparaméterben, beleértve a négyzet zárójeleket is ().
  3. A function paraméter int m(5)konvertálódik int* m;. Ez ugyanarra a címre mutat, amelyet a tömb jelek mutatnak. Ez azt jelenti, hogy amikor m (5) -vel manipulálunk a függvénytestben, akkor valójában az eredeti tömbjeleket manipuláljuk.
    A C ++ úgy kezeli a tömb átadását egy funkciónak, hogy memóriát és időt takarítson meg.

Többdimenziós tömb átadása egy függvénynek

Többdimenziós tömböket is átadhatunk argumentumként a függvénynek. Például,

2. példa: Többdimenziós tömb átadása egy függvénynek

 // 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; ) 

Kimenet

 Értékek megjelenítése: num (0) (0): 3 num (0) (1): 4 num (1) (0): 9 num (1) (1): 5 num (2) (0): 7 num ( 2) (1): 1

A fenti programban definiáltunk egy nevű függvényt display(). A függvény kétdimenziós tömböt vesz int n()(2)fel argumentumként és kinyomtatja a tömb elemeit.

A függvény meghívása közben csak a kétdimenziós tömb nevét adjuk át függvény argumentumnak display(num).

Megjegyzés : A tömbben nem kötelező megadni a sorok számát. Az oszlopok számát azonban mindig meg kell adni. Ezért használtuk int n()(2).

2-nél több dimenziós tömböt is átadhatunk függvény-argumentumként.

C ++ Tömb visszaadása egy függvényből

Visszaadhatunk egy tömböt is a függvényből. A tényleges tömböt azonban nem adja vissza. Ehelyett a tömb első elemének címét mutató segítségével adjuk vissza.

A tömbök visszatérését egy függvényből megtudhatjuk a következő oktatóanyagokban.

érdekes cikkek...