int main() vs int main(void) vs int main(int argc, int *argv[]) ?


*First of all : Ini image NGAWUR! masa bubble sort outputnya Hello World! =D
*Keduax : gambar tidak mewakili isi tulisan -__-

Sebagai bekal kuliah besok, saya sedikit" belajar C/C++ dengan 3 referensi berbeda (2 buku 1 ebook). Nah yg jd masalah, setiap referensi itu format/template saus kode nya beda", ada yang pake int main(), ada yang int main(void) dan ada yang int main(int argc, char *argv[]). Sebagai seorang n00b bingung kan iki maksude opo (sok" jowo :P). Alhasil do -> google dan ini hasilnya :D

int main(void)
Format yang satu ini mengikuti C99 standard
perbedaannnya dengan
int main() ?
Ternyata banyak yang beranggapan bahwa keduanya SAMA, however the truth is that ada perbedaan yang krusial. Void menegaskan bahwa fungsi tidak memiliki parameter/argumen, sedangkan tanpa void/() sebenarnya berarti fungsi memiliki sejumlah argumen yang tidak diketahui banyaknya.

lalu bagaimana dengan int main(int argc, char *argv[]) ?
nah setelah sy telusuri ebook itu (ini template saus kode dr C++ for dummies, hhe) ternyata parameter argc dan string argv dapat digunakan untuk debugging, jadi argc menghitung banyaknya argumen saat program di eksekusi dan array string argv menyimpan masing" argumennya :D

tambahan : perlu gak sih return 0 ? apa bedanya int main dengan void main ?
Jelas bahwa void = fungsi tidak mengembalikan nilai (prosedur) sementara int = fungsi mengembalikan nilai dengan range int. Nah sebenernya good program itu mengembalikan nilai 0 ke OS supaya tahu bahwa program(EXIT_SUCCES). Sementara jika program mengembalikan selain 0, berarti (EXIT_FAILURE) atau ada yang salah ketika pengekekusian.
Btw, by default fungsi main() biasanya ditambahkan return 0 oleh compiler, tapi tetap saja, jika kita mengikuti standar dan good programming habit (bahasanyaaa), semua fungsi selain void HARUS mengembalikan nilai.

Okay sekian, maaf bahasanya menjelimet atau apalah. Hanya sekedar berbagi bukan untuk menggurui. cmiiw ya!

References :
Forum CProgramming
C++ for Dummies 5th Edition
Buku Pemrograman C dan Implementasinya karya Budi Raharjo dan I Made Joni

1 comments:

hacking-em-nut said...

Thanks alot nih sharingnya... Manfaat banget buat gue yang bingung tuh maksudnya ini fungsi... LOL. Udah baca semua yg bahasa inggris, masih ga ngerti secara sama smw... sip2

Post a Comment