Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Melewati Array ke Fungsi dalam Pemrograman C++

Meneruskan Array ke Fungsi dalam Pemrograman C++

Dalam tutorial ini, kita akan mempelajari cara melewatkan array satu dimensi dan multidimensi sebagai parameter fungsi dalam C++ dengan bantuan contoh.

Dalam C++, kita dapat melewatkan array sebagai argumen ke suatu fungsi. Dan, kita juga dapat mengembalikan array dari suatu fungsi.

Sebelum Anda mempelajari tentang meneruskan array sebagai argumen fungsi, pastikan Anda mengetahui tentang Array C++ dan Fungsi C++.


Sintaks untuk Melewati Array sebagai Parameter Fungsi

Sintaks untuk melewatkan array ke suatu fungsi adalah:

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

Mari kita lihat contohnya,

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

Di sini, kami telah melewati int ketik array bernama marks ke fungsi total() . Ukuran array adalah 5 .


Contoh 1:Melewati Array Satu Dimensi ke Fungsi

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

Keluaran

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

Di sini,

  1. Saat kita memanggil fungsi dengan melewatkan array sebagai argumen, hanya nama array yang digunakan.
    display(marks);
    Di sini, argumen menandai mewakili alamat memori dari elemen pertama array marks[5] .
  2. Namun, perhatikan parameter display() fungsi.
    void display(int m[5])
    Di sini, kami menggunakan deklarasi lengkap array dalam parameter fungsi, termasuk kurung siku [] .
  3. Parameter fungsi int m[5] mengkonversi ke int* m; . Ini menunjuk ke alamat yang sama yang ditunjukkan oleh larik marks . Ini berarti bahwa ketika kita memanipulasi m[5] di badan fungsi, kita sebenarnya memanipulasi array asli marks .

    C++ menangani melewatkan array ke fungsi dengan cara ini untuk menghemat memori dan waktu.

Meneruskan Array Multidimensi ke Fungsi

Kita juga bisa melewatkan array Multidimensi sebagai argumen ke fungsi. Misalnya,

Contoh 2:Melewati Array Multidimensi ke Fungsi

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

Keluaran

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

Dalam program di atas, kita telah mendefinisikan sebuah fungsi bernama display() . Fungsi ini mengambil larik dua dimensi, int n[][2] sebagai argumennya dan mencetak elemen array.

Saat memanggil fungsi, kami hanya meneruskan nama array dua dimensi sebagai argumen fungsi display(num) .

Catatan :Tidak wajib untuk menentukan jumlah baris dalam array. Namun, jumlah kolom harus selalu ditentukan. Inilah mengapa kami menggunakan int n[][2] .

Kita juga dapat melewatkan array dengan lebih dari 2 dimensi sebagai argumen fungsi.


C++ Mengembalikan Array Dari Fungsi

Kami juga dapat mengembalikan array dari fungsi. Namun, array yang sebenarnya tidak dikembalikan. Sebagai gantinya alamat elemen pertama dari array dikembalikan dengan bantuan pointer.

Kita akan belajar tentang mengembalikan array dari suatu fungsi dalam tutorial yang akan datang.


Bahasa C

  1. C# Array Bergerigi
  2. Operator C++
  3. Fungsi teman C++ dan Kelas teman
  4. Operator Pemrograman C
  5. Array di C++ | Nyatakan | Inisialisasi | Contoh Pointer ke Array
  6. C++ Alokasi Dinamis Array dengan Contoh
  7. Operator C++ Overloading dengan Contoh
  8. Fungsi C++ dengan Contoh Program
  9. C Tutorial
  10. C++ Overloading (Operator dan Fungsi)