Direkomendasikan, 2024

Pilihan Editor

Perbedaan antara Definisi dan Deklarasi

Definisi dan Deklarasi adalah istilah yang sangat membingungkan jika Anda baru mengenal pemrograman. Dua konsep berbeda dalam beberapa hal karena definisi melibatkan penugasan memori ke variabel sementara dalam memori deklarasi tidak dialokasikan. Deklarasi dapat dilakukan lebih dari satu kali, sebaliknya, suatu entitas dapat didefinisikan tepat sekali dalam suatu program.

Definisi ini secara otomatis merupakan deklarasi di sebagian besar skenario. Sekarang mari kita memahami perbedaan antara definisi dan deklarasi dengan bagan perbandingan terperinci.

Grafik perbandingan

Dasar untuk perbandinganDefinisiPernyataan
DasarMenentukan nilai yang disimpan dalam variabel, fungsi atau kelas.Menentukan nama dan jenis variabel, fungsi, kelas, dll.
Alokasi memoriTerjadiTidak terjadi.
PengulanganPernyataan tidak dapat didefinisikan lagi jika sudah ditetapkan.Deklarasi ulang dapat dilakukan dengan mudah.
CakupanDurasi ditentukanVisibilitas ditentukan

Definisi Definisi

Definisi mengidentifikasi kode atau data yang terkait dengan nama variabel, fungsi, kelas, dan sebagainya. Definisi tersebut diperlukan oleh kompiler untuk mengalokasikan ruang penyimpanan untuk entitas yang dinyatakan. Ketika suatu variabel didefinisikan itu memegang sejumlah memori terdiri dari beberapa byte untuk variabel itu. Definisi fungsi menghasilkan kode untuk fungsi tersebut. Kita dapat mendefinisikan elemen program hanya sekali dalam suatu program karena definisi tersebut adalah spesifikasi unik dari elemen program. Hubungan antara deklarasi dan definisi bisa satu-ke-banyak .

Dalam beberapa situasi, elemen program tidak dapat didefinisikan tetapi dideklarasikan, misalnya ketika suatu fungsi tidak pernah dipanggil atau alamatnya tidak pernah digunakan bahkan jika itu dinyatakan. Contoh lain adalah definisi kelas tidak digunakan saat harus dideklarasikan.

Definisi Deklarasi

Deklarasi digunakan untuk menentukan nama-nama untuk program seperti nama variabel, fungsi, namespace, kelas, dll. Tidak ada nama yang dapat digunakan dalam suatu program tanpa deklarasi. Elemen program dapat dideklarasikan beberapa kali, tidak seperti definisi. Deklarasi berganda hanya dapat dicapai ketika deklarasi yang berbeda dibuat menggunakan format yang identik. Deklarasi adalah media untuk memberikan visibilitas ke elemen program dalam perspektif penyusun.

Deklarasi melayani tujuan definisi, hanya dalam kasus-kasus tertentu kondisi tidak tersirat yang diberikan di bawah ini.

  • Ketika anggota data statis dideklarasikan di dalam deklarasi kelas, dalam hal itu, itu bukan deklarasi. Karena hanya menghasilkan satu salinan untuk semua objek kelas dan anggota data statis adalah komponen objek dari tipe kelas yang disediakan.
  • Jika deklarasi adalah pernyataan typedef.
  • Variabel dideklarasikan tanpa inisialisasi atau fungsi tubuh tetapi termasuk penentu eksternal. Ini menunjukkan bahwa definisi tersebut dapat untuk fungsi lainnya dan memberikan nama hubungan eksternal.
  • Deklarasi nama kelas tanpa menyertakan definisi seperti kelas T;

Biasanya, deklarasi berlangsung dalam ruang lingkup . Lingkup menentukan visibilitas nama yang dideklarasikan dan durasi objek yang ditentukan.

Perbedaan Kunci Antara Definisi dan Deklarasi

  1. Definisi elemen program menentukan nilai yang terkait dengan elemen itu. Di sisi lain, deklarasi elemen program menentukan nama dan jenisnya ke kompiler.
  2. Definisi elemen program menyimpan sejumlah memori sementara deklarasi tidak melibatkan alokasi memori.
  3. Elemen program dapat dideklarasikan beberapa kali. Sebaliknya, definisi menggabungkan spesifikasi unik dengan nama elemen program yang dapat dibedakan dengan kode atau data apa pun.
  4. Lingkup dalam deklarasi menggambarkan visibilitas variabel, fungsi, objek, kelas, enumerasi, dll. Sebaliknya, dalam definisi lingkup terkait dengan durasi.

Contoh Definisi

  • Definisi variabel serta deklarasi:
    int r = 10;
  • Definisi fungsi:
     int add (int x, int y) {int a; a = x + y; mengembalikan a; } 

Contoh Pernyataan

  • Deklarasi variabel:
    extern int r;
  • Deklarasi fungsi:
    int add (int p1, int p2);

Kesimpulan

Proses deklarasi digunakan untuk membuat elemen program terlihat oleh kompiler, dan tidak perlu mengalokasikan memori. Definisi terbalik adalah deklarasi yang mencadangkan penyimpanan, dengan kata sederhana kompiler menyimpan ruang memori untuk entitas yang dinyatakan.

Top