Variabel digunakan untuk menyimpan nilai, didirikan dengan menggunakan identitas supaya kita dapat memanggilnya untuk menggunakan variabel tersebut. pada artikel sebelumnya “Scope” menjelaskan bahwa deklarasi seperti variabel akan memiliki sifat akses tertentu tergantung pada penempatan dan apa yang digunakan.
Seperti ketika kita mendirikan variabel di dalam scope maka variabel itu akan bersifat sebagai Local Variable (Variabel Lokal), dan jika didirkan di luar scope maka akan memiliki sifat sebagai Global Variable. Di artikel ini penulis akan jelaskan mengenai sifat-sifat akses variabel lokal berdasarkan scope.
Local Variable
Local Variable adalah variabel yang biasanya didirikan di dalam suatu scope (seperti: function). Variabel tersebut hanya akan terlihat dan hanya dapat digunakan di dalam scope itu saja.
Local Variable adalah Automatic duration yang mempunyai arti bahwa variabel tersebut akan dibuat disaat kompilator melawati deklarasi yang ada di dalam suatu scope dan dihancurkan setelah keluar dari scope tersebut.
Contoh Program
#include <iostream> using namespace std; int main () { int id = 1; //[Local Variable] Variabel didirikan dan terlihat setelah pernyataan ini. cout<<id<<endl; return 0; } //variabel "id" dihancurkan dan berakhir di sini.
Dalan scope kita juga dimungkinkan untuk melakukan nested scope (Scope di dalam scope). Hal ini akan berlaku sama, mereka hidup selama eksekusi masih ada di dalam scope tersebut. variabel lokal pada anak scope hanya akan hidup pada anak scope, untuk variabel lokal pada induk scope akan hidup sepanjang scope dimana dia di dirikan, dengan arti variabel lokal dalam induk scope dapat di akses di dalam anak scope.
Contoh Program
#include <iostream> using namespace std; int main () { int id = 1; //[Local Variable] Variabel didirikan dan terlihat setelah pernyataan ini. { int umur = 2; //[Local Variable] Variabel didirikan dan terlihat setelah pernyataan ini cout<<id<<endl; cout<<umur<<endl; }//Variabel "umur" dihancurkan dan berakhir di sini return 0; } //variabel "id" dihancurkan dan berakhir di sini.
Di dalam peraturan pemberian identitas, deklarasi tidak boleh memiliki identitas yang sama dalam satu ruang lingkup. dengan arti kita dapat mendirikan nama yang sama pada ruang lingkup yang berbeda, itu juga berlaku pada anak ruang lingkup, kita dapat mendirikan deklarasi dengan identitas yang sama meskipun identitas tersebut sudah digunakan di dalam induk ruang lingkup yang merupakan lokal variabel dari induk ruang lingkup.
Jika kita mendirikan deklarasi memiliki identitas yang sama dengan deklarasi induk ruang lingkup. Identitas dari deklarasi di dalam anak ruang lingkup akan menggantikan deklarasi dari induk ruang lingkup, hal ini disebut sebagai Shadowing atau Name Hiding.
#include <iostream> using namespace std; int main () { int id = 1; //[id1 - Local Variable] Variabel didirikan dan terlihat setelah pernyataan ini. { int id = 2; //[ id2 - Local Variable] Variabel didirikan dan terlihat setelah pernyataan ini cout<<id<<endl; }//Variabel "id2" dihancurkan dan berakhir di sini cout<<id<<endl; return 0; } //variabel "id1" dihancurkan dan berakhir di sini.
This is really fascinating, You are a very skilled blogger.
I have joined your rss feed and look forward to
in quest of extra of your excellent post. Also, I have shared
your web site in my social networks