1 Mayıs 1988 Tarihli Commodore Gazetesi Sayfa 64

1 Mayıs 1988 tarihli Commodore Gazetesi Sayfa 64
Metin içeriği (otomatik olarak oluşturulmuştur)

da AMIĞA POINTER KAVRAMI: Pointer işlemleri, C dilinde geniş olarak kullanılmakta ve Düşük Sevi- ye Dilleri (Low Level Language) ile yapılabilen birçok işlemi de bu saye- de yerine getirmektedir. Daha önce- ki yazı dizilerini izlediyseniz, kulla- nılan değişkenlerin tipinin belirlendi- ğini ve bunun gerekli olduğunu gör- müşsünüzdür. Çünkü derleyici prog- ram bellekte değişken tipine göre yer ayırmaktadır. Örneğin “char” ile ta- nımlanmış değişkenlerde 1 bayt, “double” ile tanımlanmış değişken- lerde 4 bayt yer ayrılmaktadır. Eğer değişken bir diziyse o dizinin eleman sayısı ile tipinin çarpımı kadar yer ay- rılmaktadır. Bunu şekil ile göstere- lim: 1 Bayt Bellek ., 1 Bayt S char a| a Paxlrg' a0 |H & 5 -d char bi b Pb al * as) uble e| C1 | Pc a2 | * İ a ae a) HBA c ' ı | C3 | ı H C4 al0 |1 © Şekilde örnek olarak a,b,c değiş- kenleri ile af10) dizisinin bellekte sı- ralanışı gösterilmiştir. Şeklin sağında p ile gösterilen ifade o değişkenin bel- lekteki konumunu belirten POIN- TER ifadesidir. Yani a değişkeninin belirtilmesinin bir yolu da bellekteki konumunun bi- linmesidir. a değişkeninin bellekteki 64 yeri Pa olduğunda biz a değerini *Pa ile elde edebiliriz. (*) gösterimi Pa po- interin içeriğini ifade etmektedir. Benzer şekilde *Pb ve *Pc de sırasıyla b ve c değişkenini göstermektedir. C değişkeninin double olması nedeniy- le Pc pointeri C1 değerini referans al- maktadır. Doğal olarak pointer doğ- rudan değişken tipine bağlı olmakta- dır. char *pa double *pc ifadeleri pa ve pc'nin pointer değiş-

Bu sayıdan diğer sayfalar: