Direkomendasikan, 2024

Pilihan Editor

Perbedaan Antara Variabel Lokal dan Global

Seperti yang kita bahas sebelumnya, variabel adalah nama, diberikan ke lokasi memori dan harus dideklarasikan sebelum digunakan. Dalam C, semua variabel dideklarasikan pada awal program. Dalam C ++, variabel dapat dideklarasikan, kapan saja, sebelum digunakan dalam instruksi.

Variabel selanjutnya diklasifikasikan ke dalam variabel 'lokal' dan 'global', yang merupakan topik utama diskusi kami. Di sini perbedaan utama antara variabel lokal dan global adalah bahwa, variabel lokal dideklarasikan di dalam blok fungsi, di mana sebagai variabel global dideklarasikan di luar fungsi dalam program.

Mari kita pelajari lebih banyak perbedaan antara variabel lokal dan global bersama dengan grafik perbandingan.

Grafik perbandingan:

Dasar untuk PerbandinganVariabel LokalVariabel Global
PernyataanVariabel dideklarasikan di dalam suatu fungsi.Variabel dideklarasikan di luar fungsi apa pun.
CakupanDalam suatu fungsi, di dalamnya mereka dideklarasikan.Sepanjang program.
MengaksesDiakses hanya oleh pernyataan, di dalam suatu fungsi di mana mereka dinyatakan.Diakses oleh pernyataan apa pun di seluruh program.
KehidupanDibuat ketika blok fungsi dimasukkan dan dihancurkan saat keluar.Tetap ada selama program Anda dieksekusi.
PenyimpananVariabel lokal disimpan di stack, kecuali ditentukan.Disimpan pada lokasi tetap yang ditentukan oleh kompiler.

Definisi Variabel Lokal

Variabel lokal selalu dideklarasikan di dalam blok fungsi. Di C, variabel lokal dideklarasikan di awal blok kode. Dalam C ++, mereka dapat dideklarasikan di mana saja di blok kode sebelum penggunaannya. Variabel lokal hanya dapat diakses oleh pernyataan yang ditulis di dalam fungsi di mana variabel lokal dideklarasikan. Mereka aman dalam arti bahwa, mereka tidak dapat diakses oleh fungsi lain dari program yang sama.

Variabel lokal ada sampai blok fungsi dalam eksekusi, dan dengan demikian dihancurkan setelah eksekusi keluar dari blok. Variabel lokal kehilangan konten mereka segera setelah eksekusi meninggalkan blok di mana mereka dideklarasikan.

Alasan di balik itu adalah bahwa variabel lokal disimpan di tumpukan kecuali penyimpanan khusus mereka ditentukan. Tumpukan bersifat dinamis, dan perubahan lokasi memori mengarah ke alasan mengapa variabel lokal tidak memegang nilainya segera setelah blok fungsi ada.

catatan:
Namun, ada cara untuk mempertahankan nilai variabel lokal, dengan menggunakan pengubah 'statis'.

Definisi Variabel Global

Variabel global dideklarasikan di luar semua fungsi yang ada dalam program. Tidak seperti variabel lokal, variabel global dapat diakses oleh fungsi apa pun yang ada dalam program. Variabel global tidak dapat diandalkan karena nilainya dapat diubah oleh fungsi apa pun yang ada dalam program.

Variabel global tetap ada sampai seluruh program dieksekusi sepenuhnya. Variabel global mempertahankan nilainya hingga program dijalankan. Alasannya adalah bahwa mereka disimpan pada wilayah memori tetap, diputuskan oleh kompiler.

Variabel Global sangat membantu dalam situasi di mana beberapa fungsi mengakses data yang sama. Menggunakan sejumlah besar variabel global mungkin bermasalah, karena mungkin ada perubahan yang tidak diinginkan pada nilai variabel global.

Perbedaan Utama Antara Variabel Lokal dan Global.

  1. Variabel lokal disebut 'lokal' karena mereka hanya diketahui oleh pernyataan yang ditulis dalam fungsi di mana mereka dideklarasikan dan tidak diketahui oleh fungsi lain yang ada di luar blok fungsi tersebut. Dalam kasus variabel global mereka diketahui masing-masing dan setiap fungsi hadir dalam suatu program; karenanya, mereka disebut 'global'.
  2. Variabel global mempertahankan nilainya hingga program berada dalam fase eksekusi, karena disimpan di lokasi tetap yang ditentukan oleh kompiler. Variabel lokal disimpan di stack; karenanya, mereka tidak mempertahankan nilainya karena 'stack' bersifat dinamis, tetapi kompiler dapat diarahkan untuk mempertahankan nilainya, dengan menggunakan pengubah 'statis'.
  3. Jika variabel global dan lokal dideklarasikan dengan nama yang sama, maka semua pernyataan dari blok kode yang menyatakan variabel lokal hanya akan merujuk ke variabel lokal dan tidak akan berpengaruh pada variabel global.
  4. Variabel lokal dihancurkan ketika kontrol program keluar dari blok tempat variabel lokal dideklarasikan. Namun, variabel global dihancurkan ketika seluruh program dihentikan.

Kesimpulan:

Variabel lokal dan global sama-sama diperlukan saat menulis program. Tetapi, mendeklarasikan sejumlah besar variabel global dapat menjadi masalah dalam program besar, karena dapat menyebabkan perubahan yang tidak diinginkan pada variabel global; dan akan sulit untuk mengidentifikasi bagian mana dari program yang membuat perubahan itu. Oleh karena itu, seseorang harus menghindari menyatakan variabel global yang tidak perlu.

Top