Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
3
Cevap
1453
Tıklama
0
Öne Çıkarma
C pointerlar hakkında
K
12 yıl
Binbaşı
Konu Sahibi

struct label{
int x;
int y;
char *s;
int len;
};

struct label *lb;

lb = &Text[IDXGAMENAME];
lb->len = strlen(titletext[IDXGAMENAME]);
lb->s = titletext[IDXGAMENAME];
lb->y = TITLE_Y;
lb->x = bcenter(lb->len);


Benim sorum pointer olarak -> kullanıyorlar fakat ben kullanımını tam olarak anlamadım. Bu kullanımı hakkında bilgisi olan ve açıklayabilecek olan var mı?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



F
12 yıl
Yüzbaşı

 struct label{ 
int x;
int y;
char *s;
int len;
};



lb = &Text[IDXGAMENAME];
lb->len = strlen(titletext[IDXGAMENAME]);
lb->s = titletext[IDXGAMENAME];
lb->y = TITLE_Y;
lb->x = bcenter(lb->len);




Sizin alıntı yapmış olduğunuz kod parçasında "label" türünde bir pointer(işarteci) oluşturlumuş.

Buradaki amac daha önce label türünde oluşturulmuş "static struct label Text[16]" dizisine,aynı türden "struct label *lb" işaretcisine adres ataması yapmak.

Yukarıdaki kod parçacığında bu işlem "lb = &Text[IDXGAMENAME];" şeklinde yapılmıştır.

Bu bir tekniktir.Bu şekilde Text[]dizisinin içinde bulunan "struct label" lerin üye elemanların (len,s,y,x) değerini değiştirebiliyorsunuz.


Burdaki "IDXGAMENAME" bir enum değeridir.Hem isim hem de sabit bir int değerini ifade eder.Bu şekilde dizinin elemanlarına örneğin:Text[0] yerine Text[IDXGAMENAME] şeklinde yazarak erişebilirsiniz.


"struct label *lb;" constant pointer olmadığı için ,aynı türden olmak üzere yeni adres ataması yapabilirsiniz.

Pointer'larda adresin gösterdiği nesnenin üye elamanlarına "." ile değil "->" işareti ile erişilir.




Kod


Edit:....





< Bu mesaj bu kişi tarafından değiştirildi fenasi44 -- 26 Nisan 2013; 13:19:41 >
Bu mesaja 1 cevap geldi.
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.