Variabel 3
Suatu
variabel selain dapat digolongkan berdasarkan jenis atau tipe data juga
dapat diklasifikasikan berdasarkan kelas penyimpanan. Penggolongan
berdasarkan kelas penyimpanan adalah :
- Variabel Lokal (Variabel Otomatis)
Variabel yang didefinisikan didalam suatu fungsi dan berlaku sebagai variabel lokal bagi fungsi
Variabel hanya dikenal di dalam fungsi dimana variabel itu didefinsikan dan tidak dikenal oleh fungsi lain
Sifat variabel otomatis:
· Hanya diciptakan saat fungsi dipanggil
· Saat fungsi berakhir, variabel otomatis akan dihapus
· Hanya dapat diakses didalam fungsi yang mendefinisikannya
Selang waktu antara penciptaan dan penghapusan variabel disebut sebagai lifetime atau waktu hidup.
Contoh penggunaan variabel otomatis / local:
#include
#include
void contoh();
void main()
{
clrscr();
int x = 10;
cout << "x pada main() : " << x << endl;
contoh();
getch();
}
void contoh()
{
int x = 15;
cout << "x pada contoh() : " << x;
}
|
1. Variabel Ekternal (Variabel Global)
· Variabel yang didefinisikan di luar fungsi manapun sehingga dikenal oleh semua fungsi
· Variabel eksternal mempunyai lifetime selama program dieksekusi
· Variabel eksternal sebaiknya digunakan sesedikit mungkin atau bahkan tidak digunakan sama sekali.
Contoh penggunaan variabel eksternal / global:
#include
#include
int x = 10;
void contoh();
void main()
{
clrscr();
contoh();
cout << x;
getch();
}
void contoh()
{
x++;
}
|
3. Variabel statis
Variabel statis memiliki beberapa sifat sebagai berikut:
· Variabel hanya dapat diakses pada fungsi yang mendefinisikannya
· Variabel
tidak hilang setelah eksekusi berakhir. Nilainya akan tetap
dipertahankan sehingga akan dikenali pada pemanggilan fungsi untuk tahap
berikutnya
· Inisialisasi
oleh pemrogram hanya dilakukan sekali saja selama program dijalankan.
Jika tidak ada inisialisasi secara eksplisit, maka variabel diisi dengan
nilai nol
Sintaks:
static tipe_data nama_variabel;
Contoh penggunaan variabel statis dan bukan statis.
#include
void contoh();
void main(){
contoh(); contoh(); contoh();
getch();}
void contoh(){
static int x = 10;
int y = 20;
x++; y++;
cout << "Harga x : " << x << " (variabel statis) " << endl;
cout << "Harga y : " << y << " (bukan variabel statis) " << endl;
cout << endl;}
|
0 komentar: