Dalam tutorial ini, Anda akan belajar melewatkan array (array satu dimensi dan multidimensi) ke fungsi dalam pemrograman C dengan bantuan contoh.
Dalam pemrograman C, Anda dapat mengirimkan seluruh array ke fungsi. Sebelum kita mempelajarinya, mari kita lihat bagaimana Anda bisa meneruskan elemen individual dari sebuah array ke fungsi.
Meneruskan elemen array individu
Meneruskan elemen array ke suatu fungsi mirip dengan meneruskan variabel ke suatu fungsi.
Contoh 1: Meneruskan sebuah array
#include void display(int age1, int age2) ( printf("%d", age1); printf("%d", age2); ) int main() ( int ageArray() = (2, 8, 4, 12); // Passing second and third elements to display() display(ageArray(1), ageArray(2)); return 0; )
Keluaran
8 4
Contoh 2: Meneruskan array ke fungsi
// Program to calculate the sum of array elements by passing to a function #include float calculateSum(float age()); int main() ( float result, age() = (23.4, 55, 22.6, 3, 40.5, 18); // age array is passed to calculateSum() result = calculateSum(age); printf("Result = %.2f", result); return 0; ) float calculateSum(float age()) ( float sum = 0.0; for (int i = 0; i < 6; ++i) ( sum += age(i); ) return sum; )
Keluaran
Hasil = 162,50
Untuk meneruskan seluruh larik ke suatu fungsi, hanya nama larik yang diteruskan sebagai argumen.
result = calculateSum(age);
Namun, perhatikan penggunaan ()
dalam definisi fungsi.
float calculateSum(float age()) (… )
Ini memberi tahu kompilator bahwa Anda meneruskan larik satu dimensi ke fungsi.
Meneruskan Array Multidimensi ke Fungsi
Untuk melewatkan array multidimensi ke suatu fungsi, hanya nama array yang diteruskan ke fungsi tersebut (mirip dengan array satu dimensi).
Contoh 3: Meneruskan array dua dimensi
#include void displayNumbers(int num(2)(2)); int main() ( int num(2)(2); printf("Enter 4 numbers:"); for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) scanf("%d", &num(i)(j)); // passing multi-dimensional array to a function displayNumbers(num); return 0; ) void displayNumbers(int num(2)(2)) ( printf("Displaying:"); for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 2; ++j) ( printf("%d", num(i)(j)); ) ) )
Keluaran
Masukkan 4 angka: 2 3 4 5 Menampilkan: 2 3 4 5
Catatan: Dalam pemrograman C, Anda bisa meneruskan array ke fungsi, namun, Anda tidak bisa mengembalikan array dari fungsi.