Fungsi prototype Bahasa C merupakan fungsi yang bertugas untuk memberitahukan kompilator tentang nilai angka dari fungsi parameter yang mengambil tipe data dari dari paramter, dan mengembalikan nilai tipe dari suatu fungsi. Dengan menggunakan informasi yang telah didapatkan tersebut, kompilator selanjutnya akan memeriksa fungsi parameter, beserta tipe datanya dengan fungsi definisi dan fungsi pemanggil. Jika fungsi
prototype diabaikan penggunaannya, maka program akan dikompilasi dengan pesan peringan dan akan tetap bekerja secara baik. Namun terkadang, karena hal tersebut juga dapat mengakibatkan keluaran yang tidak terduga dan hal tersebut sangat sulit untuk ditemukan pada bagian kesalahan program.
Contoh:#include <errno.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *fp;
fp = fopen(argv[1], "r");
if (fp == NULL)
{
fprintf(stderr, "%s\n", strerror(errno));
return errno;
}
printf("file exist\n");
fclose(fp);
return 0;
}
Program Sebelumnya berfungsi untuk memeriksa keberadaan sebuah
file, yang disediakan dari
command line, dimana ketika program yang diperiksa ternyata ada pada penyimpanan, maka program akan mencetak tulisan "
file exists", jika tidak maka akan mencetak pesan
error pada layar peringatan. Namun, Program dapat mengalami
crash, ketimbang menampilkan pesan
error yang bersesuaian.
Contoh:#include <stdio.h>
int main(void)
{
int *p = malloc(sizeof(int));
if (p == NULL)
{
perror("malloc()");
return -1;
}
*p = 10;
free(p);
return 0;
}
Pada contoh sebelumnya program akan bekerja dengan baik pada model IA-32, tetapi akan mengalami masalah jika dijalankan pada model IA-64. Alasannya adalah karena kesalahan dari kode program tidak disertakan sebuah fungsi
prototype dari fungsi malloc() dan mengakibatkan program mengembalikan nilai yang tidak bersesuaian pada model IA-64.
Artikel ini didedikasikan kepada: Bobby Teguh Yulianto, Desy Intan Larasati, Doohan Legin, Endah Cahyo Ningrum, dan Fahrul Irawan.
Apa itu fungsi prototype beserta contohnya pada bahasa C?
BalasHapusFungsi prototype pada bahasa C adalah suatu definisi yang digunakan untuk melakukan proses pengecekkan tipe data pada saat dilakukan pemanggilan fungsi ke ketika kode sistem ditak memiliki akses ke fungsi itu sendiri.
HapusFungsi prototype dimulai dengan kata kunci function, lalu diikuti dengan mencantumkan nama fungsi, parameter, dan nilai pengembaliannya.
HapusApa tujuan dari penggunaan fungsi prototype pada bahasa C?
BalasHapusTujuan dari penggunaan fungsi prototype adalah untuk menjaga kode program supaya tidak menghasilkan nilai output yang tidak terduga, atau dapat bernilai salah.
Hapus