Apa itu 'Callback' di C dan Bagaimana Penerapannya

Apa Itu Callback Di C Dan Bagaimana Penerapannya



Itu pemrograman C bahasa mencakup berbagai fungsi yang membantu pengguna dalam melakukan berbagai jenis aktivitas melalui kode. Beberapa fungsi ditentukan pengguna sementara yang lain sudah ada di dalamnya. Di antara fungsi-fungsi tersebut, ada fungsi yang disebut panggilan balik , yang merupakan fungsi tingkat tinggi yang membantu pengguna dalam membuat beberapa program dengan perilaku kompleks.

Ikuti artikel jika Anda ingin penjelasan rinci tentang bagaimana panggilan balik fungsi bekerja.

Apa itu Fungsi Panggilan Balik

A panggilan balik di C adalah fungsi yang diteruskan sebagai argumen ke fungsi lain yang tingkatnya lebih tinggi. Hal ini memungkinkan fungsi tingkat yang lebih tinggi untuk memanggil tingkat yang lebih rendah, panggilan balik berfungsi pada waktu yang tepat. Ini berguna dalam membuat program dengan perilaku kompleks, karena memungkinkan Anda memecah perilaku kompleks menjadi bagian-bagian kecil yang dapat digunakan kembali. Akibatnya, kode yang lebih sederhana dihasilkan yang lebih mudah dipahami, dipelihara, dan diuji.







Saat mengembangkan driver atau perpustakaan khusus, panggilan balik fungsi adalah gagasan mendasar dan seringkali krusial yang harus dipahami pengembang. A panggilan balik function memberikan referensi ke kode yang dapat dieksekusi yang dikirim sebagai argumen ke kode lain, memungkinkan lapisan perangkat lunak tingkat rendah untuk mengeksekusi fungsi yang ditentukan di tingkat yang lebih tinggi. Menggunakan sebuah panggilan balik , pengembang driver atau pustaka dapat menentukan perilaku di lapisan bawah sambil meninggalkan lapisan aplikasi untuk menentukan implementasinya.



Panggilan balik umumnya digunakan dalam desain dan pustaka bahasa pemrograman, seperti pemrograman berorientasi objek, pemrograman berbasis peristiwa, dan pemrograman GUI. Mereka juga digunakan dalam pemrograman sistem tertanam dan bahkan desain antarmuka pemrograman aplikasi (API).



A panggilan balik function hanya pointer fungsi yang dikirim sebagai parameter ke fungsi lain di level paling dasar. A panggilan balik biasanya terdiri dari tiga bagian: Telepon balik eksekusi, Telepon balik pendaftaran, dan panggilan balik fungsi.





Keuntungan Fungsi Panggilan Balik

Memanfaatkan callback memiliki manfaat utama untuk mengizinkan subrutin yang ditulis pada tingkat perangkat lunak yang lebih rendah untuk memanggil fungsi yang dibuat pada tingkat perangkat lunak yang lebih tinggi. Anda juga dapat menggunakan panggilan balik untuk sinyal atau peringatan.

Bagaimana Menerapkan Fungsi Callback?

Di C, Anda dapat menerapkan callback menggunakan penunjuk fungsi. Untuk merujuk ke fungsi yang ditentukan di tempat lain dalam program, penunjuk fungsi digunakan. Ketika fungsi tingkat yang lebih tinggi perlu memanggil panggilan balik fungsi, ia melakukannya dengan mendereferensi pointer fungsi untuk mendapatkan kembali alamat panggilan balik fungsi. Kemudian menggunakan alamat ini sebagai argumen untuk panggilan tersebut.



#termasuk

batal A ( )
{
printf ( 'Ini adalah artikel tentang Callback \N ' ) ;
}

membatalkan Panggilan Balik ( ruang kosong ( * ptr ) ( ) )
{
( * ptr ) ( ) ;
}

int utama ( )
{
ruang kosong ( * ptr ) ( ) = & A;
Telepon balik ( ptr ) ;

kembali 0 ;
}

Dalam kode ini, kami membuat dua fungsi; fungsi normal (A()) dan a panggilan balik fungsi (panggilan balik()). Dan dalam fungsi main(), kita memanggil fungsi A() menggunakan the panggilan balik () fungsi yang mencetak output.

Keluaran

Pikiran Akhir

Panggilan balik di C adalah fungsi penting yang membantu pengguna dalam membuat program dengan perilaku yang lebih kompleks. Dengan mengizinkan fungsi tingkat rendah dipanggil saat dibutuhkan, callback memungkinkan program memecah perilaku kompleks menjadi bagian-bagian kecil yang dapat digunakan kembali. Ini membuatnya lebih mudah untuk memelihara dan memecahkan masalah kode. Dengan menggunakan penunjuk fungsi dan objek fungsi, Anda dapat menggunakan panggilan balik untuk memberikan perilaku yang dinamis dan bergantung pada keadaan untuk program.