11.4 Gösterici ve Diziler Arasındaki İlişki

 

 

11.4   Gösterici ve Diziler Arasındaki İlişki

 

C dilinde göstericiler ve diziler arasında yakın bir ilişki vardır. Bir dizinin adı, dizinin ilk elemanının adresini saklayan bir göstericidir. Bu yüzden, bir dizinin herhangi bir elemanına gösterici ile de erişilebilir. Örneğin:

şeklinde bir bildirim yapılsın. Buna göre aşağıda yapılan atamalar geçerlidir:

İlk iki satırdaki atamalar aynı anlamdadır. Dizi adı bir gösterici olduğu için, doğrudan aynı tipteki bir göstericiye atanabilir. Ayrıca, i bir tamsayı olmak üzere,

ile

 

aynı anlamdadır. Bunun sebebi, p göstericisi kutle dizisinin başlangıç adresini tutmuş olmasıdır. p+i işlemi ile i+1. elemanın adresi, ve *(p+i) ile de bu adresteki değer hesaplanır.

 NOT

Bir dizinin, i. elemanına erişmek için *(p+i) işlemi yapılması zorunludur. Yani

anlamındadır. Çünkü, * operatörü + operatörüne göre işlem önceliğine sahiptir.

Program 11.4’de tanımlanan fonksiyon kendine parameter olarak gelen n elemanlı bir dizinin aritmetik ortlamasını hesaplar.

Program 11.4: Bir dizi ile gösterici arasındaki ilişki

ÇIKTI

20. – 31. satırda tanımlanan fonksiyon aşağıdaki gibi de yazılabilirdi:

Bu fonksiyonda, döngü sayacı için (i değişkeni) kullanılmayıp, döngü içinde dizinin başlangıç adresi p göstericisine atanmış ve koşul kısmında adres karşılaştırılması yapılmıştır. Bu durumda döngü, p‘nin tuttuğu adresten başlar, ve p‘nin adresi dizinin son elemanının adresinden (&dizi[n-1]) küçük veya eşit olduğu sürece çevrim yinelenir.


Bir cevap yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.