Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

Menguasai Argumen Variabel dalam C: Panduan Praktis

Kadang-kadang, Anda mungkin menghadapi situasi, ketika Anda ingin memiliki fungsi, yang dapat mengambil jumlah argumen yang bervariabel, yaitu parameter, alih-alih jumlah parameter yang telah ditentukan. Bahasa pemrograman C menyediakan solusi untuk situasi ini dan Anda diizinkan untuk mendefinisikan fungsi yang dapat menerima jumlah parameter yang bervariabel berdasarkan kebutuhan Anda. Contoh berikut menunjukkan definisi dari fungsi tersebut.

 int func(int, ... ) { . . . } int main() { func(1, 2, 3); func(1, 2, 3, 4); } 

Perlu diperhatikan bahwa fungsi func() memiliki argumen terakhirnya sebagai ellipsis, yaitu tiga titik (...) dan yang sebelum ellipsis selalu adalah int yang akan mewakili jumlah total argumen variabel yang diteruskan. Untuk menggunakan fungsionalitas ini, Anda perlu menggunakan file header stdarg.h yang menyediakan fungsi dan makro untuk mengimplementasikan fungsionalitas argumen variabel dan mengikuti langkah-langkah berikut −

Sekarang mari kita ikuti langkah-langkah di atas dan tulis fungsi sederhana yang dapat mengambil jumlah parameter yang bervariabel dan mengembalikan rata-ratanya −

Live Demo
 #include <stdio.h> #include <stdarg.h> double average(int num,...) { va_list valist; double sum = 0.0; int i; /* inisialisasi valist untuk jumlah argumen */ va_start(valist, num); /* akses semua argumen yang ditugaskan ke valist */ for (i = 0; i < num; i++) { sum += va_arg(valist, int); } /* bersihkan memori yang dialokasikan untuk valist */ va_end(valist); return sum/num; } int main() { printf("Rata-rata dari 2, 3, 4, 5 = %f\n", average(4, 2,3,4,5)); printf("Rata-rata dari 5, 10, 15 = %f\n", average(3, 5,10,15)); } 

Ketika kode di atas dikompilasi dan dieksekusi, hasilnya adalah sebagai berikut. Perlu diperhatikan bahwa fungsi average() telah dipanggil dua kali dan setiap kali argumen pertama mewakili jumlah total argumen variabel yang diteruskan. Hanya ellipsis yang akan digunakan untuk meneruskan jumlah argumen yang bervariabel.

 Rata-rata dari 2, 3, 4, 5 = 3.500000 Rata-rata dari 5, 10, 15 = 10.000000 

Bahasa C

  1. Empat Pola Terbukti untuk Fungsi yang Dibuat Pengguna dalam C
  2. Memahami Kelas Penyimpanan C: Lingkup, Umur, dan Kinerja
  3. Cara Meneruskan Array 1D dan 2D ke Fungsi dalam C – Panduan Praktis
  4. Menguasai Argumen Fungsi Python: Posisi, Kata Kunci, dan Parameter Default
  5. Variabel dan Tipe Data C++: Panduan Ahli untuk int, double, char, string, bool
  6. Variabel, Tipe Data, dan Konstanta dalam C – Panduan Praktis
  7. Memahami Penugasan Verilog: Jenis, Sintaks, dan Praktik Terbaik
  8. Memahami Variabel dalam C: Tipe, Aturan Penamaan, dan Manajemen Memori
  9. Menguasai Fungsi C: Struktur, Deklarasi, dan Praktik Terbaik
  10. Menguasai Pointer C: Langkah Praktis Menuju Pemrograman Lanjutan