Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

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,

  1. Lorsque nous appelons une fonction en passant un tableau comme argument, seul le nom du tableau est utilisé.
    display(marks);
    Ici, l'argument marque représentent l'adresse mémoire du premier élément du tableau marks[5] .
  2. Toutefois, notez le paramètre du display() fonction.
    void display(int m[5])
    Ici, nous utilisons la déclaration complète du tableau dans le paramètre de la fonction, y compris les accolades [] .
  3. Le paramètre de fonction int m[5] convertit en int* 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

  1. Tableau Jagged C #
  2. Opérateurs C++
  3. Fonction amie C++ et classes amies
  4. Opérateurs de programmation C
  5. Tableaux en C++ | Déclarer | Initialiser | Pointeur vers des exemples de tableaux
  6. Allocation dynamique C++ de tableaux avec exemple
  7. Surcharge d'opérateur C++ avec des exemples
  8. Fonctions C++ avec exemples de programmes
  9. C Tutoriel