Deklarasi Fungsi Bahasa C Sebelum dan Sesudah Fungsi Main
#include<stdio.h>
// Penerapan atribut
// constructor ke fungsi
// myStartupFun(), sehingga
// fungsi tersebut dieksekusi
// sebelum fungsi main().
void myStartupFun (void) __attribute__ ((constructor));
// Penerapan atribut
// destructor ke fungsi
// myCleanupFun(), sehingga
// fungsi tersebut dieksekusi
// setelah fungsi main().
void myCleanupFun (void) __attribute__ ((destructor));
// Penerapan fungsi
// myStartupFun.
void myStartupFun (void)
{
printf ("startup code before main()\n");
}
// Penerapan fungsi
// myCleanupFun.
void myCleanupFun (void)
{
printf ("cleanup code after main()\n");
}
int main (void)
{
printf ("hello\n");
return 0;
}
Output:startup code before main()
hello
cleanup code after main()
Catatan: Seperti pada fitur sebelumnya, GCC menambahkan banyak fitur menaik lainnya ke dalam Standar Bahasa C.
- Pengembalian Nilai Fungsi Ganda Bahasa C
- Peran Fungsi Prototype Bahasa C Beserta Penjelasannya
- Fungsi Static Bahasa C dan Penjelasannya
- Fungsi EXIT, ABORT, dan ASSERT Bahasa C
- Menampilkan Tipe Return Secara Implisit pada Bahasa C
- Pemanggilan Fungsi Sebelum Deklarasi pada Bahasa C
- Fungsi _Noreturn Specifier Bahasa C Beserta Penjelasannya
5 komentar untuk "Deklarasi Fungsi Bahasa C Sebelum dan Sesudah Fungsi Main"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Mengapa sebagian besar programmer mendeklarasikan fungsi prototype sebelum fungsi main() dan setelah fungsi main()? Bukanlah lebih mudah untuk mendefinisikannya sebelum fungsi main dan dapat menghindari semua proses deklarasi dari fungsi prototype?
BalasHapusPada umumnya programmer melakukan hal tersebut karena lebih mudah dilakukan dengan banyak file, namun jika dilakukan proses pendekralasian pada bagian header maka bisa jadi bagian #include header membutuhkan fungsi tersebut.
HapusMendeklarasikan fungsi sebelum titik panggilan dan mendefinisikannya setelah titik panggilan adalah pendekatan populer untuk menyusun kode program. Namun, hal ini sama sekali bukan apa yang dilakukan oleh "kebanyakan" programmer.
HapusSebenarnya, pendekatan yang lebih populer adalah dengan mendefinisikan fungsi sebelum titik panggilan pertama, dalam hal ini deklarasi terpisah tidak dibutuhkan. Pendekatan ini memang membutuhkan lebih sedikit proses perawatan, karena itulah lebih populer daripada yang dilakukan pada bagian pertanyaa sebelumnya.
HapusPendekatan yang anda lakukan adalah baik untuk pengembangan program sekala kecil, dimana file header yang dimaksudnya untuk deklarasi dan definisi konstanta, yang menyediakan antarmuka ke program yang sedang dirangkum, dalam hal ini header dimaksudkan sebagai antarmuka untuk unit program lainnya.
Hapus