C ++ Meneruskan Array sebagai Parameter Fungsi (Dengan Contoh)

Dalam tutorial ini, kita akan belajar bagaimana melewatkan array satu dimensi dan multidimensi sebagai parameter fungsi di C ++ dengan bantuan contoh.

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

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

Sintaks untuk Meneruskan Array sebagai Parameter Fungsi

Sintaks untuk meneruskan 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 mengirimkan intlarik tipe bernama tanda ke fungsi total(). Ukuran array adalah 5.

Contoh 1: Meneruskan Array Satu Dimensi ke Suatu Fungsi

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

Keluaran

 Menampilkan nilai: Siswa 1: 88 Siswa 2: 76 Siswa 3: 90 Siswa 4: 61 Siswa 5: 69

Sini,

  1. Saat kita memanggil sebuah fungsi dengan melewatkan sebuah array sebagai argumennya, hanya nama dari array yang digunakan.
     display(marks);
    Di sini, tanda argumen mewakili alamat memori dari elemen pertama tanda larik (5).
  2. Namun, perhatikan parameter display()fungsinya.
     void display(int m(5))
    Di sini, kami menggunakan deklarasi lengkap dari array dalam parameter fungsi, termasuk tanda kurung siku ().
  3. Parameter fungsi int m(5)diubah menjadi int* m;. Ini menunjuk ke alamat yang sama yang ditunjukkan oleh tanda larik. Ini berarti bahwa ketika kita memanipulasi m (5) dalam badan fungsi, sebenarnya kita memanipulasi tanda larik asli.
    C ++ menangani pengalihan array ke suatu fungsi dengan cara ini untuk menghemat memori dan waktu.

Meneruskan Array Multidimensi ke Fungsi

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

Contoh 2: Meneruskan Array Multidimensi ke Fungsi

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

Keluaran

 Menampilkan Nilai: 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, kami telah mendefinisikan fungsi bernama display(). Fungsi tersebut mengambil array dua dimensi, int n()(2)sebagai argumennya dan mencetak elemen dari array.

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

Catatan : Tidak wajib menentukan jumlah baris dalam larik. Namun, jumlah kolom harus selalu ditentukan. Inilah mengapa kami telah menggunakan int n()(2).

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

C ++ Mengembalikan Array Dari Fungsi

Kita juga bisa mengembalikan array dari fungsi. Namun, larik 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 mendatang.

Artikel yang menarik...