Bahasa C
Terkadang, Anda mungkin menemukan situasi, ketika Anda ingin memiliki fungsi, yang dapat mengambil sejumlah variabel argumen, yaitu parameter, alih-alih sejumlah parameter yang telah ditentukan sebelumnya. Bahasa pemrograman C memberikan solusi untuk situasi ini dan Anda diizinkan untuk mendefinisikan fungsi yang dapat menerima sejumlah variabel parameter berdasarkan kebutuhan Anda. Contoh berikut menunjukkan definisi fungsi tersebut.
int func(int, ... ) { . . . } int main() { func(1, 2, 3); func(1, 2, 3, 4); }
Perlu dicatat bahwa fungsi func() memiliki argumen terakhir sebagai elips, yaitu tiga titik (... ) dan yang tepat sebelum elips selalu berupa int yang akan mewakili jumlah total argumen variabel yang diteruskan. Untuk menggunakan fungsi tersebut, Anda perlu menggunakan stdarg.h file header yang menyediakan fungsi dan makro untuk mengimplementasikan fungsionalitas argumen variabel dan ikuti langkah-langkah yang diberikan −
Mendefinisikan fungsi dengan parameter terakhir sebagai elips dan yang tepat sebelum elips selalu merupakan int yang akan mewakili jumlah argumen.
Buat va_list ketik variabel dalam definisi fungsi. Jenis ini didefinisikan dalam file header stdarg.h.
Gunakan int parameter dan va_start makro untuk menginisialisasi va_list variabel ke daftar argumen. Makro va_start didefinisikan dalam file header stdarg.h.
Gunakan va_arg makro dan va_list variabel untuk mengakses setiap item dalam daftar argumen.
Gunakan makro va_end untuk membersihkan memori yang ditetapkan ke va_list variabel.
Sekarang mari kita ikuti langkah-langkah di atas dan tuliskan fungsi sederhana yang dapat mengambil jumlah variabel parameter dan mengembalikan rata-ratanya −
Demo Langsung#include <stdio.h> #include <stdarg.h> double average(int num,...) { va_list valist; double sum = 0.0; int i; /* initialize valist for num number of arguments */ va_start(valist, num); /* access all the arguments assigned to valist */ for (i = 0; i < num; i++) { sum += va_arg(valist, int); } /* clean memory reserved for valist */ va_end(valist); return sum/num; } int main() { printf("Average of 2, 3, 4, 5 = %f\n", average(4, 2,3,4,5)); printf("Average of 5, 10, 15 = %f\n", average(3, 5,10,15)); }
Ketika kode di atas dikompilasi dan dieksekusi, menghasilkan hasil sebagai berikut. Perlu dicatat bahwa fungsi rata-rata() telah dipanggil dua kali dan setiap kali argumen pertama mewakili jumlah total argumen variabel yang diteruskan. Hanya elips yang akan digunakan untuk meneruskan jumlah variabel argumen.
Average of 2, 3, 4, 5 = 3.500000 Average of 5, 10, 15 = 10.000000
Bahasa C
BAGIAN DAN BAHAN Tabung kertas, dari gulungan tisu toilet Batang besi atau baja, cukup besar untuk hampir memenuhi diameter tabung kertas Kabel magnet pengukur 28 Suplai daya AC bertegangan rendah Lampu pijar, dinilai untuk tegangan catu daya REFERENSI SILANG Pelajaran Dalam Rangkaian Listri
Kelebihan Fungsi C++ Dalam tutorial ini, kita akan belajar tentang fungsi overloading di C++ dengan contoh. Dalam C++, dua fungsi dapat memiliki nama yang sama jika jumlah dan/atau jenis argumen yang diteruskan berbeda. Fungsi-fungsi ini memiliki nama yang sama tetapi argumen yang berbeda dikenal
Argumen Default Pemrograman C++ (Parameter) Dalam tutorial ini, kita akan mempelajari argumen default C++ dan cara kerjanya dengan bantuan contoh. Dalam pemrograman C++, kami dapat memberikan nilai default untuk parameter fungsi. Jika fungsi dengan argumen default dipanggil tanpa meneruskan argume
C Fungsi yang ditentukan pengguna Dalam tutorial ini, Anda akan belajar membuat fungsi yang ditentukan pengguna dalam pemrograman C dengan bantuan sebuah contoh. Fungsi adalah blok kode yang melakukan tugas tertentu. C memungkinkan Anda untuk mendefinisikan fungsi sesuai dengan kebutuhan Anda. Fun