C'de Atama ile İlk Değer Verme Arasındaki Fark

10:34


Yerel degisken bildirimi fonksiyonun herhangi bir yerinde tanimlanabilir. AMA yürütülebilir deyimden sonra bildirim deyimi kullanilamaz. (C89)
image
,
Atama ile ilk deger vermeyi birbirinden ayirmak gerekir. Örneğin = isaretinin kullanildigi iki farkli yer var bunlar atama operatörü “ x=30 " ve bildirim deyimi " int x=30 ”. Bu iki “=" birbirinden farkli anlamlara gelmektedir.
image
C++’da böyle bir sorun söz konusu değildir. Dosyamızın uzantısını .cpp yaparak derlersek aşağıda görüldüğü gibi herhangi bri hata vermeyecektir.
image
Program sorunsuzca çalışacaktır.
image
Tekrar bildirim ile atama işlemlerinin farkına değinmek gerekirse;
image
image
Atama var olan -hayatta olan- bir nesneye yapılır. ( Derleyici int tmp=0 dedigimizde tmp’i aramaz. ) Bu kural'ın getiriliş amacı DEC mimarilerine uygunluk olarak kabul edilmiştir. C'nin sonraki standartlarında bu kural kaldırılmıştır.