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.
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.
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 Ol Şimdi DeğilÜ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.