Hirdetés
- Motorola Edge 50 Fusion - jó fogás
- iPhone topik
- Poco F5 - pokolian jó ajánlat
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Január 29-én jön Kínában a Redmi Turbo 5 széria
- Kicsinálja az S26 Ultra a fóliagyártókat
- Poco F8 Ultra – forrónaci
- Google Pixel topik
- Telekom mobilszolgáltatások
- Titan 2 Elite néven érkezik egy újabb BlackBerry-szerű Unihertz
Új hozzászólás Aktív témák
-
zka67
őstag
válasz
Jester01
#5552
üzenetére
Szia,
Ezzel együtt az eredeti kiindulás az volt, hogy az & operátor nem egy számot ad vissza, hanem egy megfelelő típusú pointert. Emiatt aztán (int)&x + 1 és (int)(&x + 1) az nem ugyanaz (kivéve ha véletlenül x mérete 1 byte)
Mint említettem, fizikailag a pointer egy (memória)címet tartalmaz, ami egy egyszerű szám (ez lehet 16, 32 vagy akár 64 bites érték is, rendszertől függően, de ebbe most ne menjünk bele). A pointer típusát a fordító kezeli, magából a pointer értékéből ez nem derül ki, mivel nem tárolja azt.
Az eredeti kérdés az az volt, hogy a pointer elé miért nem kell a & jel, ezt próbáltam meg konyhanyelven elmagyarázni a kérdezőnek, hogy megértse.
int main(int argc, char* argv[])
{
char c;
char *p;
p = &c;
printf("sizeof(c)=%d, sizeof(p)=%d, p=%08X\r\n", sizeof(c), sizeof(p), p);
return 0;
}Ennek az eredménye az alábbi:
sizeof(c)=1, sizeof(p)=4, p=0018FF53azaz a c változó a 0x0018FF53-as memóriacímen található. Nincs a p változóban semmilyen típus, csak a változó címe.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Honor 200 256GB,Újszerű,Dobozaval,12 hónap garanciával
- BESZÁMÍTÁS! ASROCK H510M i5 11400F 16GB DDR4 512GB SSD RTX 4060Ti 8GB Kolink Stronghold ADATA 600W
- Lenovo IdeaPad Gaming 3 - 15,6"FHD IPS - i5-10300H - 8GB - 512GB SSD - Win10 - GTX 1650 Ti - MAGYAR
- Xiaomi Redmi Note 14 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- Újszerű Dell XPS 13 9310 - 13.4" FHD+ i7-1185G7 - 16GB - 1TB - Win11 PRO
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest


