Passer un tableau à une fonction C++

Passing An Array Function C



Un tableau est un groupe d'éléments du même type de données. De nombreuses fonctions sont exécutées sur des tableaux soit dans le programme principal, soit en dehors de celui-ci, dans les fonctions. En C++, dans le cas des fonctions, il faut les passer. Cela se fait via des paramètres en tant qu'arguments. Ces arguments peuvent être de différentes manières, soit des tableaux de taille importante, soit via le tableau de pointeurs. Dans ce didacticiel, nous couvrirons certains aspects majeurs du transfert de tableau en utilisant différents paramètres des fonctions.

Syntaxe

[Revenirtaper] [nom defonction] (Les donnéestapernom du tableau[déployerTaille])

{

fonctioncorps

}

Exemple 1

Prenons un exemple dans lequel nous devons imprimer les notes des étudiants dans le programme C++. Cette impression sera prise dans une fonction distincte plutôt que dans le programme principal. En revanche, nous prendrons des entrées dans le programme principal et transférerons ces valeurs à la fonction en tant que paramètre. Considérez la fonction. Dans son paramètre, il y a une variable de type de données de tableau qui acceptera les valeurs d'un tableau. Le tableau complet est déclaré ici. Les marques seront affichées à l'aide de la boucle for. Comme dans les tableaux, nous avons besoin de boucles pour en imprimer.









En nous dirigeant vers la fonction principale, nous déclarons un tableau avec sa taille et ses valeurs. Comme nous devons appeler la fonction. La méthode consiste donc à écrire le nom de la fonction avec le nom du tableau dans le paramètre comme argument. Nous n'avons pas défini la taille du tableau.



Affichage(Des marques);

L'argument dans le paramètre implique l'adresse mémoire du tableau. Dans le paramètre de l'entête de la fonction, l'int m[7] est converti en int *m. Cela inclut la même adresse que le tableau d'origine. Lorsque nous utilisons le m[5] dans le corps de la fonction, nous allons manipuler le tableau d'origine.





Affichage vide(m int[7] )

Dans le système d'exploitation Linux, obtenir une sortie via un terminal nécessite l'installation de certains prérequis. Il a besoin d'un compilateur pour compiler puis exécuter le code dans le terminal d'invite de commande. G++ est utilisé en C++ pour la compilation.



$g++ -oucode3 code3.c

$./code3

Où –o est utilisé pour stocker la sortie du fichier source dans le fichier de sortie.

À partir de la sortie, vous pouvez observer que tous les nombres initiés dans le tableau de la fonction principale sont transmis et affichés via la fonction d'affichage.

Exemple 2

Un autre exemple concernant le passage d'un tableau à travers un paramètre est le passage d'un tableau multidimensionnel à la fonction. Un tableau à deux dimensions (2d) est utilisé ici. Dans la fonction principale, nous devons initialiser un tableau.

Tableau entier[ligne][colonne]

L'initialisation du tableau 2D comprend la ligne et la colonne. Et leur ordre est à conserver tout au long du programme. Le tableau 2D est initialisé avec deux nombres entre parenthèses. Comme nous l'avons décrit 2 colonnes dans l'initialisation.

Affichage(sur une);

Nous n'utiliserons que le nom du tableau dans le paramètre comme argument.

Nous allons maintenant voir le fonctionnement de la fonction d'affichage. Lorsque la fonction est démarrée, il faut une variable de tableau pour accepter un tableau passé par l'appel de fonction via le programme principal.

Affichage vide(entier n[][2] )

Il est obligatoire de mentionner le nombre de colonnes. En comparaison, il n'est pas indispensable dans le cas des lignes. C'est pourquoi nous avons laissé les crochets de ligne vides ici car nous utilisons la boucle for pour afficher les résultats. Mais dans le cas d'un tableau à 2 dimensions, nous utilisons une boucle for imbriquée. Il contient deux instructions for contenant 2 variables.

Nous pouvons afficher la sortie en utilisant le même compilateur. Vous pouvez voir les résultats que chaque valeur est affichée séparément avec le numéro de ligne et de colonne.

Exemple 3

Cet exemple est un peu différent des précédents. Dans cet exemple, nous mentionnons la taille du tableau dans le paramètre de l'appel de fonction. Et dans la déclaration de fonction, une variable est également introduite pour accepter la taille d'un tableau.

A partir du programme principal, un tableau est initialisé avec les valeurs.

moy = obtenirMoyenne(équilibre,5);

Le résultat sera stocké dans la variable avg. Au lieu de transmettre uniquement le nom du tableau, la taille du tableau est également ajoutée au paramètre.

Le paramètre contient également la variable de type tableau et un type de données entier pour recevoir la taille du tableau. Le type du programme principal est int car il recevra une valeur entière de la fonction. Sinon, il est nul dans les autres cas.

Maintenant, nous allons voir la sortie. Cette valeur est visible à travers l'image est obtenue à partir de la fonction.

Exemple 4

Cet exemple concerne la détermination du nombre maximum dans le tableau, en fait, à partir de deux tableaux. Ici, nous initialisons deux tableaux dans le programme principal. Les deux tableaux sont transmis séparément à la fonction dans des appels de fonction distincts

printMax(arr1);

printMax(arr2);

où printMax est le nom de la fonction et arr est le tableau. Le résultat ne reviendra pas de la fonction et y est affiché. La boucle For calculera le nombre maximum dans les deux tableaux. L'instruction if est utilisée dans la boucle for. L'en-tête de la fonction est :

void printMax(int arr[5])

Comme les deux tableaux contiennent des valeurs différentes, les deux résultats seront différents.

Exemple 5

Cet exemple est le résumé de tous les types de tableaux passant par les paramètres. Il peut s'agir de tableaux dimensionnés, non dimensionnés ou de pointeurs. Nous les examinerons un par un.

Dans le programme principal, chaque fonction est déclarée en premier. Vous pouvez signaler la différence dans leur déclaration.

Int somme1(int tmp[5]);

Int somme2(int tmp[]);

Int somme3(entier*tmp);

Ces trois tableaux décrivent que les tableaux peuvent être passés avec ces paramètres dans la fonction.

Après l'initialisation de la fonction, nous avons le programme principal dans lequel le tableau est déclaré. Contrairement à l'exemple précédent, un tableau est initialisé au lieu de deux, mais il est transmis de trois manières différentes. Nous allons maintenant voir les appels de fonction effectués ici.

Total = somme1(Ventes);

Total = somme2(Ventes);

Total = somme3(Ventes);

La sortie est affichée dans la fonction principale, donc une variable est déclarée pour accepter la valeur renvoyée par la fonction. À partir des trois appels de fonction, vous pouvez voir qu'ici les paramètres sont les mêmes. Chaque tableau ne contient que le nom d'un tableau. Mais les paramètres de la fonction qui accepte le tableau sont différents.

Le corps interne des trois fonctions est le même, car la somme de tous les nombres est calculée à partir de l'utilisation de la boucle For. La méthodologie et les valeurs du tableau sont les mêmes ; seulement il y a discrimination entre les paramètres des fonctions. Par conséquent, il est prouvé que nous pouvons soit utiliser différentes méthodes pour accepter un tableau, soit exécuter la même fonctionnalité, et la réponse est la même. Nous pouvons le confirmer en vérifiant la sortie. En utilisant la même procédure de compilation, nous obtiendrons le résultat affiché dans l'image jointe ci-dessous.

Vous pouvez voir que la réponse est la même pour les trois fonctions utilisées.

Conclusion

Dans cet article, l'utilisateur va connaître la méthode de passage d'un tableau en paramètres. Les tableaux peuvent être gérés dans de nombreux cas lorsqu'il s'agit de renvoyer la valeur ou de la transmettre en arguments.