Dalam menulis program bahasa c, kita pernah mengalami program yang kita buat baru bisa jalan
kalo interupt nya didisable, atau task yang satu baru bisa jalan kalo task yang lain didisable. problem-
problem seperti ini bisa terjadi karena kesalahan dalam penggunaan jenis variabel. Dalam bahasa c jenis
variabel dibedakan menjadi empat macam yaitu variabel otomatis, statis, eksternal, dan register.
1. Variabel otomatis
Penjelasan :
Variabel otomatis adalah variable yang hanya dikenal di dalam suatu blok saja (dalam tanda {…}),
baik itu blok pemilihan, pengulangan ataupun fungsi. dikatakan ‘otomatis’ karena variable ini
dialokasikan pada saat pendeklarasian dan akan didealokasikan secara otomatis ketika program
keluar dari suatu blok. walaupun bersifat opsional, namun untuk mempertegas bahwa variable
tersebut sebagai variable otomatis, kita dapat menggunakan kata kunci auto pada saat
pendeklarasian.
syntax:
auto tipe_data nama_variabel
contoh :
#include
int main(void)
{
int a;
if(a>0)
{
auto int var_otomatis;
CODE
}
}
penjelasan:
Variabel statis adalah suatu variable yang menyimpan nilai permanen dalam memori, artinya
variable tersebut akan menyimpan nilai terakhir yang diberikan. Untuk menyatakan bahwa suatu
variable adalah variable statis adalah dengan menggunakan kata kunci static.
syntax:
static tipe_data nama_variabel
contoh :
#include
int KaliSepuluh(void)
{
static int a=1;
a=a*10;
return a;
}
int main(void)
{
int x,y,z;
x=KaliSepuluh();
y=KaliSepuluh();
z=KaliSepuluh();
printf(“Nilai x=%d\n”,x);
printf(“Nilai y=%d\n”,y);
printf(“Nilai z=%d\n”,z);
}
penjelasan:
Bahasa c mengizinkan kita untuk menuliskan syntax program ke dalam file yang terpisah dengan
tujuan untuk modularisasi program. untuk itu apabila kita ingin mendeklarasikan variabel yang
dapat dikenali dan diakses oleh masing-masing file yang terpisah tersebut, maka variable itu harus
kita deklarasikan sebagai variable eksternal . adapun caranya adalah dengan menambahkan kata
kunci ekstern pada saat pendeklarasian.
syntax:
extern tipe_data nama_variabel
contoh:
dalam file utama.c.
#include
int var_eksternal;
int main(void)
{
var_eksternal=100;
printf(“Nilai var_eksternal:%d\n”,var_eksternal);
SetNilai();
printf(“Nilai var_eksternal:%d\n”,var_eksternal);
}
void SetNilai(void)
{
var_eksternal=500;
}
Apabila dikompilasi dan dijalankan maka program di atas akan memberikan hasil sebagai berikut:
nilai var_eksternal:100
nilai var_eksternal:500
4. Variabel register
penjelasan:
Berbeda dengan variable biasa yang akan bertempat di memori, variable register ini akan disimpan
di dalam register cpu. dengan demikian, apabila kita ingin mengisikan atau mengubah nilai variable
register, maka kita tidak perlu melakukan akses terhadap memori sehingga proses yang dilakukan
pun lebih cepat.perlu diperhatikan bahwa variable register ini hanya dapat diterapkan ke tipe
bilangan bulat, karakter, dan pointer saja. selain itu variable ini hanya boleh dideklarasika sebagai
variable lokal ataupun parameter dari fungsi. untuk mendeklarasikannya kita harus menggunakan
kata kunci register.
syntax:
register tipe_data nama_variabel;
contoh :
#include
int Pangkat(register int B, register int e)
{
hasil=1;
for(;e;e--)
{
hasil *= B;
}
return hasil;
}
int main(void)
{
printf(“2^6=%d”,Pangkat(2,6));
}