Hantar susunan ke fungsi di C

Dalam tutorial ini, anda akan belajar untuk menyampaikan tatasusunan (kedua-dua array satu dimensi dan multidimensi) ke fungsi dalam pengaturcaraan C dengan bantuan contoh.

Dalam pengaturcaraan C, anda dapat meneruskan keseluruhan fungsi ke fungsi. Sebelum kita mempelajarinya, mari kita lihat bagaimana anda dapat menyampaikan elemen-elemen tatasusunan kepada fungsi.

Melewati elemen tatasusunan individu

Melewatkan elemen array ke fungsi serupa dengan meneruskan pemboleh ubah ke fungsi.

Contoh 1: Melewatkan tatasusunan

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

Pengeluaran

 8 4 

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

Pengeluaran

 Hasil = 162.50

Untuk meneruskan keseluruhan array ke fungsi, hanya nama array yang dilewatkan sebagai argumen.

 result = calculateSum(age);

Walau bagaimanapun, perhatikan penggunaan ()dalam definisi fungsi.

 float calculateSum(float age()) (… )

Ini memberitahu pengkompil bahawa anda meneruskan array satu dimensi ke fungsi tersebut.

Melewatkan Susunan Multidimensi ke Fungsi

Untuk meneruskan array multidimensi ke fungsi, hanya nama array yang diteruskan ke fungsi (serupa dengan susunan satu dimensi).

Contoh 3: Melewati tatasusunan 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)); ) ) )

Pengeluaran

 Masukkan 4 nombor: 2 3 4 5 Memaparkan: 2 3 4 5 

Catatan: Dalam pengaturcaraan C, anda dapat meneruskan array ke fungsi, namun anda tidak dapat mengembalikan array dari fungsi.

Artikel menarik...