Fungsi Variadik
Pelajaran 10 dari 17 dalam kursus Fungsi dalam C di Coddy.
Di C, seperti dalam bahasa pemrograman lain, ada konsep yang disebut fungsi variadic, yaitu fungsi yang menerima jumlah parameter tanpa batas.
Untuk menggunakan fungsi variadic, pertama-tama kita perlu menyertakan file header <stdarg.h>.
Mari kita lihat contoh untuk mengetahui cara kerjanya:
#include <stdio.h>
#include <stdarg.h>
int sum(int num, ...) {
va_list list;
va_start(list, num);
int sum = 0;
for (int i = 0; i < num; i++) {
sum += va_arg(list, int);
}
va_end(list);
printf("%d", sum);
}
int main() {
sum(2, 20, 30);
return 0;
}Dalam contoh ini, fungsi sum menghitung jumlah dari sejumlah nilai integer yang bervariasi.
Deklarasikan variabel untuk menyimpan daftar argumen menggunakan macro
<strong>va_list</strong>:va_list list;Inisialisasi daftar argumen:
va_start(list, num);Deklarasikan variabel untuk menyimpan jumlah:
int sum = 0;Telusuri semua elemen, ambil setiap argumen, lalu tambahkan ke jumlah:
for (int i = 0; i < num; i++) { sum += va_arg(list, int); }Bersihkan daftar argumen setelah perhitungan selesai:
va_end(list);Dalam fungsi
<strong>main</strong>, panggil fungsi<strong>sum</strong>seperti ini:sum(2, 20, 30);
Tantangan
MudahDengan menggunakan fungsi variadik, buat fungsi bernama average yang menghitung dan mencetak rata-rata nilai siswa.
Coba sendiri
#include <stdio.h>
#include <stdarg.h>
// Fungsi untuk menghitung rata-rata
int main() {
// Panggil fungsi variadik | Jangan ubah ini
average(4, 85, 90, 78, 92);
return 0;
}Semua pelajaran di Fungsi dalam C
Latihan sendiri: Compiler C online