statik veri türü değişken adı
Statik yerel değişkenler
Bir fonksiyondaki bir değişken statik olduğunda, değişken, fonksiyon çağrıları arasında değerini korur.
//Örnek 1.c#Dahil etmek
int eğlence1()
int sayı=0;
say++;
dönüş sayısı;
int eğlence2()
statik int sayı = 0;
say++;
dönüş sayısı;
int ana()
printf("fun1 1. çağrı döner : %d\n",fun1());
printf("fun1 2. çağrı döner : %d\n\n",fun1());
printf("fun2 1. çağrı döner : %d\n",fun2());
printf("fun2 2. çağrı döner : %d\n",fun2());
0 döndür;
Örnek 1'de.c, iki işlevimiz var: eğlence1() ve eğlence2(). İçinde eğlence1(), bir değişken (sayım) bildiririz ve onu 0 olarak başlatırız. Ardından sayım değişkenini artırıyoruz ve elde edilen değeri döndürüyoruz. kullanma ana(), Biz ararız eğlence1() çağrıldığında sayı değişkeni temizlendiğinden, her seferinde 1 değeri döndürülür eğlence1() tamamlandı. İçinde eğlence2() sayma değişkenini statik bir değişken olarak ilan ettik. Bu nedenle değeri korunur. kullanma ana(), Biz ararız eğlence2() iki kez: ilk kez 1 değeri döndürülür ve ikinci kez 2 değeri döndürülür.
Statik global değişkenler
Statik bir global değişken, diğer global değişkenlerle aynı şekilde davranır, ancak başka bir C programından erişilemez.
Statik fonksiyonlar
C'de fonksiyonlar varsayılan olarak globaldir. Ancak, statik bir işlev bildirirsek, işlev yereldir ve başka bir C programından erişilemez.
Statik değişkenlerin başlatılması
Statik bir değişken açıkça başlatılmazsa, 0 olarak başlatılır.
//Örnek2.c#Dahil etmek
int ana()
statik int i;
printf("i'nin değeri : %d\n",i);
0 döndür;
Örnek2'de.c, başlatılmamış statik bir değişken i bildirdik. Ancak değişken statik olduğundan, otomatik olarak 0 olarak başlatılır.
Statik bir değişkenin sabit bir hazır bilgi ile başlatılması gerektiğine dikkat etmek önemlidir; statik bir değişkeni başlatmak için bir işlevin dönüş değerini kullanamayız.
//Örnek3.c#Dahil etmek
int eğlence1()
dönüş 5;
int ana()
statik int i = eğlence1();
printf("i'nin Değeri : %d\n",i);
0 döndür;
Örnek3'te.c, dönüş değerini kullanarak statik bir değişken başlatmaya çalışıyoruz eğlence1(). Ancak gördüğünüz gibi kod derlendiğinde bir hata döndürülüyor.
Özet
Statik bir değişkenin ömrü ile programın ömrü eşittir.
Statik bir değişken başlatılmazsa, varsayılan olarak 0 değerini alacaktır.
Ne global bir statik değişkene ne de bir statik fonksiyona, tanımlandığı programdan başka bir programdan erişilebilir.