C Programlama

Ek Bilgiler

C'de Değişkenler

► Detaylı anlatım

C dilinde bilgisayar belleğinin bir kısmına belirli bir isim vererek (değişken bildirimi veya tanımlama) bu alana değerler yerleştirebiliriz (değişkene değer atama).

C programlama dilinde bir değişken kullanılmadan önce mutlaka bildirimi yapılmalı ve bir değer atanmalıdır. Bu bildirim işlemi, main() fonksiyonu da dahil olmak üzere, fonksiyonların hemen başında veya bütün fonksiyonların dışında olmak üzere kaynak dosyamızın hemen başında yapılmalıdır.

Bir değişken bildirimi aşağıdaki şekilde görüldüğü gibi yapılır:

veri-türü değişken-adı;

Değişken bildiriminde değişken-adı ifadesi yerine kullanılacak değişken adları, sizin verebileceğiniz herhangi bir ad olabilir. Bu ad harflerden, rakamlardan ve (_) işaretinden oluşan bir karakter dizisi olmalıdır. C küçük ve büyük harflere farklı işlem yapar. VAR1 ve var1 olarak verilen değişken adları birbirinden tamamen farklı olarak kabul edilir.

Aşağıdaki işlem satırlarından birincisi id1 adlı int ve ikincisi fd1 adlı float bir değişken bildirimi yapar:

int id1;
float fd1;

Değişken bildirimini fonksiyonların yada kod bloklarının başında yapılırsa, bu değişkenlere "lokal değişken", bütün fonksiyonların dışında ve kaynak dosyamızın başında yapılırsa bu değişkenlere "global değişken" adı verilir.

Lokal değişkenler sadece tanımlanmış olduğu fonksiyonlar içinde geçerlidir ve sadece içinde tanımlandığı fonksiyon çalıştığı sürece geçerlidir. Bir fonksiyon programın herhangi bir yerinden çağrıldığında, çağrılan fonksiyonun içindeki lokal değişkenler oluşturulur ve fonksiyonun son işlem satırına işlem yapıldıktan sonra yok edilirler.

Global değişkenler main() fonksiyonu da dahil olmak üzere bütün fonksiyonlar içinde geçerlidir. Bu değişkenlere, main() fonksiyonu veya diğer fonksiyonların işlem satırından herhangi bir işlem yapabiliriz. Global değişkenler kaynak dosyamızın başında tanımlandığından, programın çalışması sona erene kadar varlıklarını sürdürürler.

Bir değişken bildirimi ile yapılan ilk değer atama işlemi aşağıdaki şekilde yapılır:

veri-çeşidi değişken-adı = sabit;

Global bir değişkene bir ilk değer atamazsanız, değişken sıfır (0) değerini alır. Lokal bir değişkene bir ilk değer atamazsanız, değişken anlamsız bir değer alır.

#include <stdio.h>

int gid1; /* İlk değer atanmadığından değeri 0 olur. */ 
int gid2 = 128; 

main()
{
  int id1;
  int id2 = 21;  
  id1 = 5; 
  
  printf("Lokal değişken değerleri : %d %d\n", id1, id2);

  fonk1();
}

fonk1()
{
  /* Değişkenler global olduğundan fonksiyon içinden erişim sağlanır. */   
  printf("Global değişken değerleri: %d %d", gid1, gid2);
}

Yukarıdaki örnekte, program aşağıdaki satırı ekrana yazar:

Lokal değişken değerleri : 5 21
Global değişken değerleri: 0 128