Değişken program içerisinde tanımlanan ya da kullanıcıdan alınan bilgileri hafızada tutma işine yarar. Tanımlanan her değişken için RAM bellekte değişkenin kapsama alanına göre belli boyutta yer açılır. Değişkene atanan değer orada saklanır. Eğer int türünde bir değişken tanımlarsak o değişkene atana değer ram bellekte 8 bit yani 1 byte değerinde yer tutar. Bu sebeple değişken tanımlarken içine atayacağımız değer kadar veri türü tanımlamalıyız. Değişken tanımlarken öncelikle içerisine yerleştirilecek veri türü yazılır, ardından o veriyi çağıracağımız yerde kullanacağımız değişken ismi yazlır. Son olarak atama operatörü olan “=” (eşittir) işareti kullanılır ve sonuna noktalı virgül koyularak satır tamamlanır.
Sözdizimi;
veriTürü değişkenAdi = atananDeğer;
C dilinde 6 adet veri türü vardır. Bunlar;
Şimdi dilerseniz bu veri türlerini teker teker inceleyelim;
Short veri türü hafızada 1 bitlik verileri tutmak için kullanılır. Bu veriler “1” ve “0” bileceği gibi aynı anlama gelen “true” ve “false” de olabilir.
Örnek;
1 2 3 4 |
short giris = 1; // "giris" adında değişken tanımla ve "1" değerini ata short cikis = 0; // "cikis" adında değişken tanımla ve "0" değerini ata short dogrumu = true; // "dogrumu" adında değişken tanımla ve "true" değerini ata short aktifmi = false; // "aktifmi" adında değişken tanımla ve "false" değerini ata |
Yukarıdaki herhangi bir değişkeni tanımladıktan sonra, değişken adını program içerisinde kullandığımız zaman orada değişkene atanan değer işlem görür.
Karakter türü değerleri hafızada tutmak için kullanılır. Karakter derken 7 bitlik ASCII karakterleri ya da 0 ile 127 arası karakter numarasını hafızada tutar.
1 2 |
char karakter = 'A'; // karakter adında char türü değişken tanımladık ve içerisine büyük A karakterini yerleştirdik char karakter2 = 65; // karakter2 adında char türü değişken tanımladık ve içerisine 97 karakterini yerleştirdik |
Aslında yukarıdaki tanımladığımız karakter ve karakter1 değişkenine aynı değeri atadık. Çünkü büyük A karakterinin karakter numarası 65’dir. Karakter numaraları hakkında daha fazla bilgi ve klavyeden girilen karakterin numarasını öğrenmek için Karakter Kodları sayfamızı ziyaret edebilirsiniz.
İnt veri türü 8 bitlik tamsayı türü değişkenleri hafızada tutmak için kullanılır. 8 bitlik tam sayı değeri decimal -127 ile 127 arasındaki tamsayılardır. Eğer başına unsigned (işretsiz) komutu getirilirse hafızada tutabileceği tam sayı değeri decimal 0 ile 255 arasındadır.
Örnek kullanım:
1 2 |
int sayi = 15; unsigned sayi1 = 254; |
Yukarıda sayi adında integer (tamsayı) türü değişken tanımladık ve içerisine 15 değerini atadık. Artık programımızda sayi yazdığımız her yerde 15 sayısı işlem görecektir.
Long veri türü 16 bit değerinde tamsayıları hafızada tutmaya yarayan veri türüdür. 16 bitlik tamsayı değeri -32767 ile +32767 arası değerlerdir. Eğer değişken tanımlarken önüne unsigned (işaretsiz) komutu getirilirse 0 ile +65535 arasındaki tamsayıları hafızada tutabilme özelliğine sahiptir.
Örnek kullanım;
1 2 |
long sayi = 32767; unsigned long sayi = 65535; |
long long veri türü 32 bit değerindeki tamsayıları hafızada tutabilmek için kullanılır. 32 bit tamsayı değeri -2147483648 ile 2147483647 arasındaki sayılardır. Eğer önüne unsigned (işaretsiz) komutu getirilirse 0 ile 4294967295 sayısı arasında sayıları hafızada tutabilir.
Örnek kullanım:
1 |
long long sayi1 = 1254865442; |
float veri türü 32 bit ondalıklı sayıları hafızada tutmak için kullanılan veri türüdür. Float veri türünde usigned komutu kullanılamaz.
Örnek kullanım:
1 |
float deger = 23.352; |
Değişken Tanımlama Kuralları:
Değişkenleri tanımlarken bir takım kurallara uymamız gerekmektedir.
Şimdi bu kuralları teker teker açıklayalım;
Örnekler;
1 2 3 4 5 6 7 8 |
int sayi1 = 27; // tanımlama doğru int _sayi = 35; // tanımlama doğru int _125 = 555; // tanımlama doğru int 1sayi = 35; // tanımlama yanlış, ilk karakter sayı olamaz int sayi? = 42; // tanımlama yanlış, alt tire hariç özel karakter kullanılamaz int çeşit = 10; // tanımlama yanlış, Türkçe karakter kullanılamaz int return = 15; // tanımlama yanlış, C dili komutu kullanılamaz |
Her değişkenin etkin olduğu bir kapsama alanı vardır. Değişkenlere bu kapsam alanı dışından erişim sağlanamaz. Değişkenlere yalnızca tanımlandığı küme parantezi içerisinden erişilebilir.
Örnek;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
void main(){ int sayi; /* * yukarıdaki sayi değişkenine main blogu içinden ve * main blogu altındaki tüm bloglardan erişilebilir */ while(true){ int sayi2; /* * yukarıdaki sayi2 değişkenine while döngüsü içerisinde erişilebilir. * main alanından erişilemez * üstteki sayi değişkenine bu alandan erişilebilir */ } /* * while döngüsü içerisindeki sayi 2 değişkenine bu alandan erişilemez, * çünkü sayi2 değişkeninin içinde bulunduğu küme parantezi kapatıldı */ } |