C ++ Διάταξη συστοιχιών ως παράμετροι λειτουργίας (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθουμε πώς να περάσουμε έναν μονοδιάστατο και πολυδιάστατο πίνακα ως παράμετρος συνάρτησης στο C ++ με τη βοήθεια παραδειγμάτων.

Στο C ++, μπορούμε να περάσουμε πίνακες ως όρισμα σε μια συνάρτηση. Και, επίσης, μπορούμε να επιστρέψουμε πίνακες από μια συνάρτηση.

Πριν μάθετε για τη μετάδοση συστοιχιών ως όρισμα συνάρτησης, βεβαιωθείτε ότι γνωρίζετε για τις συστοιχίες C ++ και τις λειτουργίες C ++

Σύνταξη για τη διέλευση συστοιχιών ως παραμέτρων συναρτήσεων

Η σύνταξη για τη μετάδοση ενός πίνακα σε μια συνάρτηση είναι:

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

Ας δούμε ένα παράδειγμα,

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

Εδώ, έχουμε περάσει έναν intτύπο πίνακα που ονομάζεται σημάδια στη συνάρτηση total(). Το μέγεθος του πίνακα είναι 5.

Παράδειγμα 1: Διαβίβαση μονοδιάστατης συστοιχίας σε συνάρτηση

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

Παραγωγή

 Εμφάνιση ενδείξεων: Μαθητής 1: 88 Μαθητής 2: 76 Μαθητής 3: 90 Μαθητής 4: 61 Μαθητής 5: 69

Εδώ,

  1. Όταν καλούμε μια συνάρτηση μεταβιβάζοντας έναν πίνακα ως όρισμα, χρησιμοποιείται μόνο το όνομα του πίνακα.
     display(marks);
    Εδώ, τα ορίσματα αντιπροσωπεύουν τη διεύθυνση μνήμης του πρώτου στοιχείου των σημείων πίνακα (5).
  2. Ωστόσο, παρατηρήστε την παράμετρο της display()συνάρτησης.
     void display(int m(5))
    Εδώ, χρησιμοποιούμε την πλήρη δήλωση του πίνακα στην παράμετρο συνάρτησης, συμπεριλαμβανομένων των τετραγώνων αγκυλών ().
  3. Η παράμετρος συνάρτησης int m(5)μετατρέπεται σε int* m;. Αυτό δείχνει την ίδια διεύθυνση που υποδεικνύεται από τα σημάδια του πίνακα. Αυτό σημαίνει ότι όταν χειριζόμαστε το m (5) στο σώμα λειτουργίας, χειριζόμαστε πραγματικά τα αρχικά σημάδια του πίνακα.
    Το C ++ χειρίζεται τη μεταφορά ενός πίνακα σε μια λειτουργία με αυτόν τον τρόπο για εξοικονόμηση μνήμης και χρόνου.

Διαβίβαση Πολυδιάστατης Διάταξης σε Λειτουργία

Μπορούμε επίσης να περάσουμε πολυδιάστατους πίνακες ως επιχείρημα στη συνάρτηση. Για παράδειγμα,

Παράδειγμα 2: Μετάδοση πολυδιάστατης συστοιχίας σε μια συνάρτηση

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

Παραγωγή

 Προβολή τιμών: num (0) (0): 3 num (0) (1): 4 num (1) (0): 9 num (1) (1): 5 num (2) (0): 7 num ( 2) (1): 1

Στο παραπάνω πρόγραμμα, έχουμε ορίσει μια συνάρτηση που ονομάζεται display(). Η συνάρτηση παίρνει έναν δισδιάστατο πίνακα, int n()(2)ως όρισμα και εκτυπώνει τα στοιχεία του πίνακα.

Κατά την κλήση της συνάρτησης, μεταβιβάζουμε μόνο το όνομα της δισδιάστατης συστοιχίας ως όρισμα συνάρτησης display(num).

Σημείωση : Δεν είναι υποχρεωτικό να προσδιορίσετε τον αριθμό των γραμμών στον πίνακα. Ωστόσο, ο αριθμός στηλών πρέπει πάντα να προσδιορίζεται. Γι 'αυτό χρησιμοποιήσαμε int n()(2).

Μπορούμε επίσης να περάσουμε πίνακες με περισσότερες από 2 διαστάσεις ως όρισμα συνάρτησης.

C ++ Επιστροφή μιας σειράς από μια συνάρτηση

Μπορούμε επίσης να επιστρέψουμε έναν πίνακα από τη συνάρτηση. Ωστόσο, ο πραγματικός πίνακας δεν επιστρέφεται. Αντ 'αυτού, η διεύθυνση του πρώτου στοιχείου του πίνακα επιστρέφεται με τη βοήθεια των δεικτών.

Θα μάθουμε για την επιστροφή συστοιχιών από μια συνάρτηση στα επόμενα σεμινάρια.

ενδιαφέροντα άρθρα...