Passer des tableaux C ++ en tant que paramètres de fonction (avec des exemples)

Dans ce didacticiel, nous allons apprendre à passer un tableau unidimensionnel et multidimensionnel en tant que paramètre de fonction en C ++ à l'aide d'exemples.

En C ++, nous pouvons passer des tableaux comme argument à une fonction. Et nous pouvons également renvoyer des tableaux à partir d'une fonction.

Avant d'en savoir plus sur le passage de tableaux en tant qu'argument de fonction, assurez-vous de connaître les tableaux C ++ et les fonctions C ++.

Syntaxe pour transmettre des tableaux en tant que paramètres de fonction

La syntaxe pour passer un tableau à une fonction est:

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

Voyons un exemple,

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

Ici, nous avons passé un inttableau de types nommé marks à la fonction total(). La taille du tableau est de 5.

Exemple 1: Passer un tableau unidimensionnel à une fonction

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

Production

 Affichage des notes: Élève 1:88 Élève 2:76 Élève 3:90 Élève 4:61 Élève 5:69

Ici,

  1. Lorsque nous appelons une fonction en passant un tableau comme argument, seul le nom du tableau est utilisé.
     display(marks);
    Ici, les marques d'argument représentent l'adresse mémoire du premier élément des marques de tableau (5).
  2. Cependant, notez le paramètre de la display()fonction.
     void display(int m(5))
    Ici, nous utilisons la déclaration complète du tableau dans le paramètre de fonction, y compris les accolades ().
  3. Le paramètre de fonction est int m(5)converti en int* m;. Cela pointe vers la même adresse indiquée par les marques de tableau. Cela signifie que lorsque nous manipulons m (5) dans le corps de la fonction, nous manipulons en fait les marques de tableau d'origine.
    C ++ gère le passage d'un tableau à une fonction de cette manière pour économiser de la mémoire et du temps.

Passage d'un tableau multidimensionnel à une fonction

Nous pouvons également passer des tableaux multidimensionnels comme argument de la fonction. Par exemple,

Exemple 2: Passage d'un tableau multidimensionnel à une fonction

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

Production

 Affichage des valeurs: num (0) (0): 3 num (0) (1): 4 num (1) (0): 9 num (1) (1): 5 num (2) (0): 7 num ( 2) (1): 1

Dans le programme ci-dessus, nous avons défini une fonction nommée display(). La fonction prend un tableau à deux dimensions, int n()(2)comme argument et imprime les éléments du tableau.

Lors de l'appel de la fonction, nous transmettons uniquement le nom du tableau à deux dimensions comme argument de la fonction display(num).

Remarque : Il n'est pas obligatoire de spécifier le nombre de lignes dans le tableau. Cependant, le nombre de colonnes doit toujours être spécifié. C'est pourquoi nous avons utilisé int n()(2).

Nous pouvons également passer des tableaux de plus de 2 dimensions comme argument de fonction.

C ++ renvoyant un tableau à partir d'une fonction

Nous pouvons également renvoyer un tableau à partir de la fonction. Cependant, le tableau réel n'est pas renvoyé. Au lieu de cela, l'adresse du premier élément du tableau est renvoyée à l'aide de pointeurs.

Nous découvrirons comment renvoyer des tableaux à partir d'une fonction dans les prochains tutoriels.

Articles intéressants...