Responsive Reklam Alanı

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 değişkenler önceden bildirilmelidir. Değişkenin nerede bildirildiği oldukça önemlidir. Anımsanacağı gibi 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; yalnızca tek bir fonksiyon içinde kullanılıyorsa, o fonksiyonun içinde yerel olarak bildirilmesi uygundur.

Yerel Bildirim

Yerel değişkenler kullanıldığı fonksiyonun içerisinde bildirilir; yalnızca bildirildiği fonksiyon içerisinde 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 alanında yer kaplarla. Örneğin 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=k*2;
11.                          return gecici;
12.       }     

yalnızca 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çinde tanınmayacağından kullanılamazlar. Çünkü bir yerel değişken yalnızca bildirildiği fonsiyonda geçerlidir. main()’de m adlı değişkene 7 değeri 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 katı hesaplanıp gecici adlı değişkene atanır ve return ile çağıran fonksiyona gönderilir.

C dilinin anahtar sözcüklerinden biri 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çinde kullanılabilir anlamına gelir. Ancak derleyicilerde bütün yerel değişkenler, aksi söylenmediği sürece zaten öyle olduğu için auto anahtar sözcüğü pek kullanılmaz.

Genel (Global) Bildirim

Genel değişken bütün fonksiyonların dışında bildirilir. Bir değişken bütün program boyunca sürekli olarak kullanılıyorsa, genel olarak bildirilmelidir. Böyle bir değişken yerel olarak bildirilirse, her fonksiyona gönderilmesi gerekir. Bu da gereksiz parametre aktarıma neden olur. Programcı, değişkenleri bildirmeden önce hangilerinin yerel ya da genel olacağını belirlemelidir. Örneğin, yerel değişken bildiriminde verilen program genel değişken kullanılarak tekrar yazılırsa, aşağıda görüleceği gibi 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=m*2;
12.            }

Yukarıdaki program bir öncekiyle aynı işi yapmaktadır. Ancak kullanılan değişkenlerin bildirimi bütün 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 yerleri programı da değiştirmektedir. Önceki programda ikikat() adlı fonksiyon, sonucu return ile göndermekteydi; burada, n ve m adlı değişkenler genel olduğu için, ikikat()’a ne parmetre gelmekte ne de sonuç gönderilmektedir. Çünkü genel değişkenler bütün fonksiyonlar içinde kullanılırlar. ikikat() adlı fonksiyonun türü return ile birşey göndermediği için hiç bir şey anlamında void’dir.

Arkadaşlar, konumuzu burada sonlandıracağım bi sonra ki makalemizde dersimizin devamını paylaşacağım…

Paylaşmak Güzeldir
Yazar
Yazar
WiFi Menzil Genişletici Nedir? C Dilinde Değişken Bildirim Yerleri (Ders 2)
Bir yorum yazın
Siz de düşüncenizi belirtebilirsiniz.

Web Tasarım Blog Teması ES | Tüm hakları © Emre Supçin'e aittir.