Passage d'un tableau à une fonction en programmation C++
Passage d'un tableau à une fonction en programmation C++
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'apprendre à transmettre des tableaux en tant qu'argument de fonction, assurez-vous de connaître les tableaux C++ et les fonctions C++.
Syntaxe pour passer 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 int
tableau de type nommé marques à la fonction total()
. La taille du tableau est 5 .
Exemple 1 :transmission d'un tableau unidimensionnel à une fonction
// C++ Program to display marks of 5 students
#include <iostream>
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;
}
Sortie
Displaying marks: Student 1: 88 Student 2: 76 Student 3: 90 Student 4: 61 Student 5: 69
Ici,
- Lorsque nous appelons une fonction en passant un tableau comme argument, seul le nom du tableau est utilisé.
display(marks);
- Toutefois, notez le paramètre du
display()
fonction.void display(int m[5])
[]
. - Le paramètre de fonction
int m[5]
convertit enint* m;
. Cela pointe vers la même adresse pointée par le tableau marques . Cela signifie que lorsque nous manipulons m[5] dans le corps de la fonction, nous manipulons en fait le tableau d'origine marques .
C++ gère le passage d'un tableau à une fonction de cette manière pour économiser de la mémoire et du temps.
Passer un tableau multidimensionnel à une fonction
Nous pouvons également passer des tableaux multidimensionnels comme argument à la fonction. Par exemple,
Exemple 2 :transmission d'un tableau multidimensionnel à une fonction
// C++ Program to display the elements of two
// dimensional array by passing it to a function
#include <iostream>
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;
}
Sortie
Displaying Values: 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 ne transmettons que 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 du 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 à plus de 2 dimensions comme argument de fonction.
C++ Renvoyer 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 apprendrons comment renvoyer des tableaux à partir d'une fonction dans les prochains tutoriels.
Langue C
- Tableau Jagged C #
- Opérateurs C++
- Fonction amie C++ et classes amies
- Opérateurs de programmation C
- Tableaux en C++ | Déclarer | Initialiser | Pointeur vers des exemples de tableaux
- Allocation dynamique C++ de tableaux avec exemple
- Surcharge d'opérateur C++ avec des exemples
- Fonctions C++ avec exemples de programmes
- C Tutoriel