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

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

Dalam C ++, kita dapat menyampaikan array sebagai argumen kepada fungsi. Dan, kita juga boleh mengembalikan tatasusunan dari fungsi.

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

Sintaks untuk Melewatkan Array sebagai Parameter Fungsi

Sintaks untuk meneruskan array ke fungsi adalah:

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

Mari lihat contoh,

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

Di sini, kami telah menyampaikan intarray jenis bernama mark ke fungsi total(). Saiz susunan adalah 5.

Contoh 1: Menghantar Array Satu Dimensi ke 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; )

Pengeluaran

 Menunjukkan markah: Pelajar 1: 88 Pelajar 2: 76 Pelajar 3: 90 Pelajar 4: 61 Pelajar 5: 69

Di sini,

  1. Apabila kita memanggil fungsi dengan meneruskan array sebagai argumen, hanya nama array yang digunakan.
     display(marks);
    Di sini, tanda argumen mewakili alamat ingatan elemen pertama tanda array (5).
  2. Walau bagaimanapun, perhatikan parameter display()fungsi.
     void display(int m(5))
    Di sini, kami menggunakan deklarasi lengkap array dalam parameter fungsi, termasuk pendakap segi empat ().
  3. Parameter fungsi int m(5)ditukar menjadi int* m;. Ini menunjukkan alamat yang sama dengan tanda array. Ini bermaksud bahawa ketika kita memanipulasi m (5) dalam badan fungsi, kita sebenarnya memanipulasi tanda array yang asal.
    C ++ menangani menyampaikan array ke fungsi dengan cara ini untuk menjimatkan memori dan masa.

Melewati Array Multidimensi ke Fungsi

Kita juga boleh menyampaikan tatasusunan Multidimensi sebagai hujah fungsi. Sebagai contoh,

Contoh 2: Menghantar 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; ) 

Pengeluaran

 Nilai Paparan: 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 menentukan fungsi yang dinamakan display(). Fungsi mengambil array dua dimensi, int n()(2)sebagai argumennya dan mencetak unsur-unsur array.

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

Catatan : Tidak wajib untuk menentukan bilangan baris dalam larik. Walau bagaimanapun, bilangan lajur harus selalu ditentukan. Inilah sebabnya mengapa kita telah menggunakan int n()(2).

Kita juga boleh menyampaikan susunan dengan lebih dari 2 dimensi sebagai argumen fungsi.

C ++ Mengembalikan Array Dari Fungsi

Kami juga dapat mengembalikan array dari fungsi. Walau bagaimanapun, susunan sebenar tidak dikembalikan. Sebaliknya alamat elemen pertama array dikembalikan dengan bantuan penunjuk.

Kami akan belajar tentang mengembalikan tatasusunan dari fungsi dalam tutorial yang akan datang.

Artikel menarik...