Suatu variabel selain dapat digolongkan berdasarkan jenis atau tipe data juga dapat diklasifikasikan berdasarkan kelas penyimpanan. Penggolongan berdasarkan kelas penyimpanan adalah :
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++; } |
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;} |
Social Plugin