Perbedaan utama antara deklarasi dan definisi dalam C adalah bahwa deklarasi dalam C memberi tahu kompiler tentang nama fungsi, tipe pengembalian, dan parameter, sedangkan definisi dalam C berisi implementasi fungsi yang sebenarnya. Artinya, deklarasi memberikan informasi tentang fungsi ke kompiler sedangkan, definisi berisi pernyataan aktual dari fungsi untuk melakukan tugas tertentu.
C adalah tujuan umum, bahasa pemrograman terstruktur. Ini menggunakan struktur kontrol seperti if/else, pengulangan seperti for loop, while loop dan fungsi. Fungsi adalah seperangkat pernyataan yang membantu melakukan tugas tertentu berulang kali. Selanjutnya, dimungkinkan untuk memanggil fungsi dari fungsi utama. Setelah mengeksekusi pernyataan terakhir dari fungsi, kontrol kembali ke fungsi utama. Artikel ini membahas deklarasi dan definisi fungsi dalam C dan membandingkan perbedaan di antara keduanya. Definisi fungsi menentukan apa yang dilakukan fungsi, dan deklarasi menentukan apa yang masuk ke fungsi; ini adalah prototipe.
Apa itu Deklarasi dalam C?
Declaration memberikan informasi tentang fungsi ke compiler. Sintaks untuk deklarasi adalah sebagai berikut.
return_ type function_name (daftar parameter);
Asumsikan fungsi yang menghitung jumlah dua bilangan bulat. Deklarasinya adalah sebagai berikut.
int jumlah (int angka1, int angka2);
Nama fungsi adalah jumlah, dan parameternya adalah dua bilangan bulat yaitu num1 dan num2. Fungsi ini mengembalikan bilangan bulat. Pernyataan lengkap diakhiri dengan titik koma.
Tidak perlu menyertakan nama parameter dalam deklarasi. Oleh karena itu, dimungkinkan juga untuk menyebutkan hanya tipe data sebagai berikut. Berikut ini adalah pernyataan yang valid.
int jumlah (int, int);
Apa Definisi dalam C?
Definition berisi pernyataan aktual dari fungsi untuk melakukan tugas tertentu. Sintaksnya adalah sebagai berikut.
return_type function_name (daftar parameter){
// pernyataan fungsi
}
Nama fungsi membantu mengidentifikasi fungsi. Saat menjalankan fungsi, nilai diteruskan ke fungsi itu. Nilai-nilai ini menyalin ke parameter. Daftar parameter dapat berisi satu parameter atau sejumlah parameter. Dan parameter ini memiliki tipe data dan nama. Selain itu, ada juga fungsi tanpa parameter.
Pernyataan fungsi berada di dalam kurung kurawal. Ini adalah fungsi tubuh. Setelah menjalankan fungsi, itu akan mengembalikan nilai. Jenis pengembalian tergantung pada nilai pengembalian. Jika fungsi mengembalikan bilangan bulat, tipe pengembaliannya adalah int. Jika fungsi mengembalikan double, maka tipe pengembaliannya adalah double dll.
Lihat kode di bawah ini dengan deklarasi dan definisi fungsi.
Gambar 01: Program Menghitung Penjumlahan Dua Angka
Menurut program di atas, baris 3 menampilkan deklarasi. Ini memberitahu kompiler tentang nama fungsi, parameter dll. Dalam fungsi utama, dua nilai diambil dari keyboard, dan mereka disimpan ke dalam variabel 'a' dan 'b'. Pada baris 12, nilai-nilai ini diteruskan ke fungsi yang disebut jumlah. 'a' dan 'b' ini adalah argumen.
Pada baris 16, fungsi penjumlahan dijalankan. Ini menyalin nilai a ke num1 dan nilai b ke num2. Fungsi ini mengembalikan penjumlahan dan nilai tersebut disimpan ke variabel 'ans' (baris 12). Akhirnya, jawabannya tercetak di layar. Singkatnya, baris 3 menunjukkan deklarasi sedangkan baris 16 hingga 18 menampilkan definisi.
Apa Perbedaan Antara Deklarasi dan Definisi dalam C?
Deklarasi adalah prototipe yang menentukan nama fungsi dan tanda tangan tipe seperti tipe data, tipe pengembalian, dan parameter tetapi mengabaikan badan fungsi. Definisi menentukan nama fungsi dan tanda tangan tipe seperti tipe data, tipe pengembalian dan parameter, dan itu termasuk badan fungsi. Deklarasi memberi tahu kompiler tentang nama fungsi dan cara memanggilnya. Di sisi lain, definisi berisi implementasi fungsi yang sebenarnya. Ini menjelaskan tugas fungsi.
Ringkasan – Deklarasi vs Definisi dalam C
Perbedaan antara deklarasi dan definisi dalam C adalah bahwa deklarasi dalam C memberi tahu kompiler tentang nama fungsi, tipe pengembalian, dan parameter, sedangkan definisi dalam C berisi implementasi fungsi yang sebenarnya.