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,
- 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] .
- Namun, perhatikan parameter
display()
fungsi.
void display(int m[5])
Di sini, kami menggunakan deklarasi lengkap array dalam parameter fungsi, termasuk kurung siku []
.
- 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.