Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

Array doorgeven aan een functie in C++-programmering

Array doorgeven aan een functie in C++-programmering

In deze tutorial leren we hoe we een eendimensionale en multidimensionale array kunnen doorgeven als functieparameter in C++ met behulp van voorbeelden.

In C++ kunnen we arrays als argument doorgeven aan een functie. En we kunnen ook arrays van een functie retourneren.

Voordat je leert over het doorgeven van arrays als een functieargument, moet je eerst weten wat C++ Arrays en C++ Functions zijn.


Syntaxis voor het doorgeven van arrays als functieparameters

De syntaxis voor het doorgeven van een array aan een functie is:

returnType functionName(dataType arrayName[arraySize]) {
    // code
}

Laten we een voorbeeld bekijken,

int total(int marks[5]) {
    // code
}

Hier zijn we geslaagd voor een int typ array met de naam marks naar de functie total() . De grootte van de array is 5 .


Voorbeeld 1:Eendimensionale matrix doorgeven aan een functie

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

Uitvoer

Displaying marks: 
Student 1: 88
Student 2: 76
Student 3: 90
Student 4: 61
Student 5: 69

Hier,

  1. Als we een functie aanroepen door een array als argument door te geven, wordt alleen de naam van de array gebruikt.
    display(marks);
    Hier, het argument markeert vertegenwoordigen het geheugenadres van het eerste element van array marks[5] .
  2. Let echter op de parameter van de display() functie.
    void display(int m[5])
    Hier gebruiken we de volledige declaratie van de array in de functieparameter, inclusief de vierkante accolades [] .
  3. De functieparameter int m[5] converteert naar int* m; . Dit verwijst naar hetzelfde adres dat wordt aangeduid door de array markeringen . Dit betekent dat wanneer we m[5] . manipuleren in de hoofdtekst van de functie manipuleren we eigenlijk de originele array marks .

    C++ verwerkt op deze manier het doorgeven van een array aan een functie om geheugen en tijd te besparen.

Multidimensionale array doorgeven aan een functie

We kunnen ook multidimensionale arrays als argument doorgeven aan de functie. Bijvoorbeeld,

Voorbeeld 2:Multidimensionale matrix doorgeven aan een functie

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

Uitvoer

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

In het bovenstaande programma hebben we een functie gedefinieerd met de naam display() . De functie heeft een tweedimensionale array, int n[][2] als zijn argument en drukt de elementen van de array af.

Bij het aanroepen van de functie geven we alleen de naam van de tweedimensionale array door als het functieargument display(num) .

Opmerking :Het is niet verplicht om het aantal rijen in de array op te geven. Het aantal kolommen moet echter altijd worden opgegeven. Daarom hebben we int n[][2] . gebruikt .

We kunnen ook arrays met meer dan 2 dimensies doorgeven als functieargument.


C++ een array retourneren vanuit een functie

We kunnen ook een array van de functie retourneren. De werkelijke array wordt echter niet geretourneerd. In plaats daarvan wordt het adres van het eerste element van de array geretourneerd met behulp van pointers.

We zullen leren over het retourneren van arrays van een functie in de komende tutorials.


C Taal

  1. C# Jagged Array
  2. C++-operators
  3. C++ vriend Functie en vriend Klassen
  4. C Programmeren van operators
  5. Arrays in C++ | Verklaren | Initialiseren | Aanwijzer naar matrixvoorbeelden
  6. C++ Dynamische toewijzing van arrays met voorbeeld
  7. Overbelasting van C++-operator met voorbeelden
  8. C++-functies met programmavoorbeelden
  9. C Zelfstudie
  10. C++ overbelasting (operator en functie)
  11. Polymorfisme in C++