Perbedaan antara Variabel Lokal dan Global

Daftar Isi:

Anonim

Apa itu Variabel?

Variabel adalah nama yang diberikan ke area penyimpanan yang dapat dimanipulasi oleh program. Jenis variabel menentukan ukuran dan tata letak memori variabel.

Ini juga menentukan kisaran nilai yang perlu disimpan di dalam memori itu dan sifat operasi yang dapat diterapkan ke variabel itu.

Dalam tutorial ini, Anda akan belajar

  • Ruang Lingkup Variabel
  • Definisi Variabel Lokal
  • Definisi Variabel Global
  • Variabel Lokal vs. Variabel Global
  • Keuntungan menggunakan variabel Global
  • Keuntungan menggunakan Variabel Lokal
  • Kerugian menggunakan variabel Global
  • Kerugian menggunakan Variabel Lokal
  • Apa yang lebih berguna?

Ruang Lingkup Variabel

Ruang lingkup variabel hanyalah seumur hidup variabel. Ini adalah blok kode di mana variabel dapat diterapkan atau hidup. Sebagai contoh:

function foo(){var x;}

Anda mendeklarasikan variabel "x" di dalam fungsi "foo." Ruang lingkup variabel itu tetap di dalam fungsi itu, itu tidak dapat digunakan di luar fungsi itu.

Ada tiga tempat di mana variabel Anda dapat mendeklarasikan bahasa pemrograman variabel:

  • Di dalam fungsi atau blok: Variabel lokal
  • Di luar semua fungsi: Variabel global
  • Dalam definisi parameter fungsi: Parameter formal

PERBEDAAN UTAMA

  • Variabel lokal dideklarasikan di dalam fungsi sedangkan variabel Global dideklarasikan di luar fungsi.
  • Variabel lokal dibuat ketika fungsi telah memulai eksekusi dan hilang ketika fungsi berakhir, sebaliknya, variabel global dibuat saat eksekusi dimulai dan hilang saat program berakhir.
  • Variabel lokal tidak menyediakan berbagi data sedangkan variabel Global menyediakan berbagi data.
  • Variabel lokal disimpan di tumpukan sedangkan variabel Global disimpan di lokasi tetap yang ditentukan oleh penyusun.
  • Kelulusan parameter diperlukan untuk variabel lokal sedangkan untuk variabel global tidak diperlukan

Variabel Lokal

Variabel Lokal didefinisikan sebagai jenis variabel yang dideklarasikan dalam blok atau subrutin pemrograman. Ini hanya dapat digunakan di dalam subrutin atau blok kode di mana ia dideklarasikan. Variabel lokal ada sampai blok fungsi sedang dijalankan. Setelah itu akan dihancurkan secara otomatis.

Contoh Variabel Lokal

public int add(){int a =4;int b=5;return a+b;}

Di sini, 'a' dan 'b' adalah variabel lokal

Variabel Global

Sebuah Variabel global dalam program ini adalah variabel yang didefinisikan di luar subrutin atau fungsi. Ini memiliki ruang lingkup global yang berarti memegang nilainya sepanjang masa program. Oleh karena itu, dapat diakses di seluruh program dengan fungsi apa pun yang ditentukan dalam program, kecuali jika dibayangi.

Contoh:

int a =4;int b=5;public int add(){return a+b;}

Di sini, 'a' dan 'b' adalah variabel global.

Variabel Lokal Vs. Variabel Global

Berikut adalah beberapa perbedaan mendasar antara variabel Lokal dan Global.

Parameter Lokal Global
Cakupan Itu dideklarasikan di dalam sebuah fungsi. Itu dideklarasikan di luar fungsi.
Nilai Jika tidak diinisialisasi, nilai sampah disimpan Jika tidak diinisialisasi, nol disimpan sebagai default.
Seumur hidup Itu dibuat saat fungsi mulai dieksekusi dan hilang saat fungsi dihentikan. Itu dibuat sebelum eksekusi global program dimulai dan hilang ketika program berakhir.
Berbagi data Berbagi data tidak dimungkinkan karena data variabel lokal dapat diakses hanya dengan satu fungsi. Berbagi data dimungkinkan karena beberapa fungsi dapat mengakses variabel global yang sama.
Parameter Parameter yang lewat diperlukan untuk variabel lokal untuk mengakses nilai di fungsi lain Parameter yang lewat tidak diperlukan untuk variabel global karena terlihat di seluruh program
Modifikasi nilai variabel Ketika nilai variabel lokal diubah di satu fungsi, perubahan tersebut tidak terlihat di fungsi lain. Ketika nilai variabel global diubah dalam satu fungsi, perubahan terlihat di seluruh program.
Diakses oleh Variabel lokal dapat diakses dengan bantuan pernyataan, di dalam fungsi di mana mereka dideklarasikan. Anda dapat mengakses variabel global dengan pernyataan apa pun dalam program.
Penyimpanan memori Itu disimpan di tumpukan kecuali ditentukan. Itu disimpan di lokasi tetap yang ditentukan oleh kompiler.

Keuntungan menggunakan variabel Global

  • Anda dapat mengakses variabel global dari semua fungsi atau modul dalam suatu program
  • Anda hanya perlu mendeklarasikan variabel global satu kali di luar modul.
  • Ini idealnya digunakan untuk menyimpan "konstanta" karena membantu Anda menjaga konsistensi.
  • Variabel global berguna ketika beberapa fungsi mengakses data yang sama.

Keuntungan menggunakan Variabel Lokal

  • Penggunaan variabel lokal menawarkan jaminan bahwa nilai variabel akan tetap utuh saat tugas sedang berjalan
  • Jika beberapa tugas mengubah satu variabel yang berjalan secara bersamaan, maka hasilnya mungkin tidak dapat diprediksi. Tetapi mendeklarasikannya sebagai variabel lokal menyelesaikan masalah ini karena setiap tugas akan membuat instance sendiri dari variabel lokal.
  • Anda dapat memberi nama yang sama pada variabel lokal dalam fungsi yang berbeda karena variabel tersebut hanya dikenali oleh fungsi tempat variabel tersebut dideklarasikan.
  • Variabel lokal dihapus segera setelah fungsi apa pun selesai dan melepaskan ruang memori yang ditempati.

Kerugian menggunakan Variabel Global

  • Terlalu banyak variabel yang dideklarasikan sebagai global, kemudian mereka tetap berada di memori sampai eksekusi program selesai. Ini dapat menyebabkan masalah Memori Habis.
  • Data dapat dimodifikasi dengan fungsi apa pun. Pernyataan apa pun yang ditulis dalam program dapat mengubah nilai variabel global. Ini mungkin memberikan hasil yang tidak dapat diprediksi dalam lingkungan multi-tasking.
  • Jika variabel global dihentikan karena pemfaktoran ulang kode, Anda perlu mengubah semua modul tempat variabel tersebut dipanggil.

Kerugian menggunakan Variabel Lokal

  • Proses debugging variabel lokal cukup rumit.
  • Data umum diperlukan untuk melewati berulang kali karena berbagi data tidak dimungkinkan antar modul.
  • Mereka memiliki ruang lingkup yang sangat terbatas.

Apa yang lebih berguna?

Variabel lokal dan global sama pentingnya saat menulis program dalam bahasa apa pun. Namun, sejumlah besar variabel global mungkin menempati memori yang sangat besar. Perubahan yang tidak diinginkan pada variabel global menjadi sulit untuk diidentifikasi. Oleh karena itu, sebaiknya hindari mendeklarasikan variabel global yang tidak diinginkan.