Senin yazdırdığın adresler değişkenlerin bellekteki başlangıç adresleri. x in adresi ...12 iken y nin adresi ...24 diyorsun. İyi de bunların bellekte ardışık olarak bulunacağının bir garantisi yok. Bu garantiyi istiyorsan dizi, struct vs. kullanman gerekir.
int x = 3, y = 4, z = 5, *px=&x, *py=&y, *pz=&z;
char a = 'd', b = 'F', *pa = &a, *pb = &b;
float d = 1.01, e = 3.14, *pd = &d, *pe = &e;
printf("%u\n%u\n%u\n%u\n%u\n%u\n%u", px, py, pz, pa, pb, pd, pe);
yukarıdaki programın çıktısını aşağıda gibi alıyorum;
3602304
3602292
3602280
3602235
3602223
3602184
3602172
bellek adresleri sondan başa doğru atanıyor ve int 12 byte yer kaplıyor gibi gözüküyor, bilgisayarım 64 bit.
Yazdığım kodda sorun mu var?
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.