Variabel statis dapat berupa variabel lokal maupun varibel eksternal. Sifat dari variabel ini adalah :

  1. Jika variabel statis bersifat lokal, maka variabel ini hanya dikenal oleh fungsi dimana variabel ini dideklarasikan.
  2. Jika variabel statis bersifat eksternal, maka variabel tersebut dapat digunakan oleh semua fungsi yang terletak pada file yang sama, dimana variabel statis tersebut dideklarasikan.
  3. Berbeda dengan variabel lokal, variabel statis tidak akan dihapus sekeluarnya dari fungsi (nilai pada variabel akan tetap diingat).
  4. Inisialisasi akan dilakukan hanya sekali, yaitu saat fungsi dipanggil pertama kali. Apabila tidak ada inisialisasi oleh pemrogram maka secara otomatis akan diberi nilai awal nol.

 

Variabel statis diperoleh dengan menambahkan kata kunci static di depan penentu tipe data variabel.

File statik.c

#include <stdio.h>

main()
{
  int y=20;

  funk();
  funk();
  printf(”Nilai y dalam fungsi main = %d\n”,y);
}

funk()
{
  static int y;

  y++;
  printf(”Nilai y dalam fungsi funk = %d\n”,y);
}

$ gcc -o statik statik.c
$ ./statik
Nilai y dalam fungsi funk = 1
Nilai y dalam fungsi funk = 2
Nilai y dalam fungsi main = 20
$

Coba hilangkan keyword static pada bari ini : static int y; lalu compile ulang dan jalankan.

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa