C Dilinde Değişken Bildirim Yerleri (Ders 1)

C Dilinde Değişken Bildirim Yerleri (Ders 1) Merhaba arkadaşlar, Uzun zamandır yazılım derslerine giriş yapamamıştık ufak bir giriş yapalım. Bir C programında kullanılacak olan değişkenler önceden bildirilmelidir. Değişkenin nerede bildirildiği epey bir önemlidir. Anımsanacağı benzeri bir C programı fonksiyonların birleştirilmesinden oluşmaktadır. Eğer bir değişken, programdaki fonksiyonların birçoğunda kullanılacaksa genel olarak; sırf tek bir fonksiyon içerisinde kullanılıyorsa, o fonksiyonun içerisinde yerel şekilde bildirilmesi uygundur. Yerel Bildirim Yerel değişkenler kullanıldığı fonksiyonun arasında bildirilir; sırf bildirildiği fonksiyon arasında tanınır ve kullanılabilir. Bildirildiği fonksiyon dışında tanınmaz. Yerel değişkenler bildirildiği fonksiyon yürütüldüğü anda bellekteki veri dalında yer kaplarla. sorun aşağıdaki programda bulunan fonksiyonlarda, 1. main () 2. { 3. int m,n; /* m ve n yerel değişkenlerdir / 4. m=7; 5. n=ikikat (m); 6. printf (“%d nin iki kati=%d dir. “,m,n); 7. } 8. int ikikat (int k) { 9. int gecici; / gecici de yerel değişkendir / 10. gecici=k2; 11. return gecici; 12. } sırf yerel değişken kullanılmıştır. main() fonksiyonunun yerel değişkenleri m ve n’dir. Bu iki değişkenin tuttuğu değerler ikikat() adlı fonksiyon içerisinde tanınmayacağından kullanılamazlar. Çünkü bir yerel değişken sırf bildirildiği fonsiyonda geçerlidir. main()’de m adlı değişkene 7 kıymeti atanmıştır; bunun iki katını hesaplayan ikikat()’a gönderilmektedir. ikikat() adlı fonksiyonda, gönderilen m’nin değerli k adlı değişkende tutulmaktadır. ikikat() adlı fonksiyonun yerel değişkeni gecici’dir. k’nın iki sert hesaplanıp gecici adlı değişkene atanır ve return ile çağıran fonksiyona gönderilir. C dilinin anahtar sözcüklerinden birisi olan auto, yerel değişken bildirimi yapılırken, değişken türünün önüne yazılabilir; yerel değişken, bildirildiği fonksiyon yürütüldüğü sürece bellekte yer işgal eder ve ilgili fonksiyon içerisinde kullanılabilir anlamına gelir. Ancak derleyicilerde tüm yerel değişkenler, ters söylenmediği sürece zaten öyle bulunduğu için auto anahtar sözcüğü pek kullanılmaz. Genel (Global) Bildirim Genel değişken tüm fonksiyonların dışında bildirilir. Bir değişken tüm program boyunca devamlı şekilde kullanılıyorsa, genel şekilde bildirilmelidir. Böyle bir değişken yerel şekilde bildirilirse, her fonksiyona gönderilmesi gerekir. Bu da lüzumsuz parametre aktarıma neden olur. Programcı, değişkenleri bildirmeden herşeyden önce hangilerinin yerel ya da genel olacağını belirlemelidir. Örneğin, yerel değişken bildiriminde verilen program genel değişken kullanılarak tekrardan yazılırsa, aşağıda görüleceği benzeri parametre aktarımına gerek kalmamaktadır. 1. int m,n; /* değişkenler geneldir / 2. void ikikat(); 3. main() 4. { 5. m=7; 6. ikikat(); 7. printf (“%d nin iki kati=%d dir”,m,n); 8. } 9. void ikikat() 10. { 11. n=m2; 12. } Yukarıdaki program bir öncekiyle tıpkı işi yapmaktadır. Ancak uygulanan değişkenlerin bildirimi tüm fonksiyonların dışında yazılarak, genel yapılmıştır. m ve n, programın genel değişkenleridir. Dikkat edilirse, değişkenlerin bildirim bölgeleri programı da değiştirmektedir. Önceki programda ikikat() adlı fonksiyon, sonucu return ile göndermekteydi; burada, n ve m adlı değişkenler genel bulunduğu için, ikikat()’a ne parmetre gelmekte ne de netice gönderilmektedir. Çünkü genel değişkenler tüm fonksiyonlar içerisinde kullanılırlar. ikikat() adlı fonksiyonun çeşidi return ile birşey göndermediği için hiç bir şey yönünde void’dir. Arkadaşlar, konumuzu burada sonlandıracağım bi sonra ki makalemizde dersimizin devamını paylaşacağım…


Yapılan Yorumlar
Erdem OFLAZ

Bir mum, diğer mumu tutuşturmakla ışığından bir şey kaybetmez.
 Kategoriler
 Popüler yazılar