Hirdetés
- Meggyi001: Áram nélkül....méltóság nélkül.....
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- hcl: GPT diszk kisebbre klónozása
- gerner1
- sziku69: Szólánc.
- D@reeo: OlvasóMester - vágólap felolvasó alkalmazás
- Ndruu: Segíts kereshetővé tenni a PH-s arcképeket!
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
Ú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!
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Genshin Impact (PC, PS4, Android, iOS)
- Xiaomi 15T Pro - a téma nincs lezárva
- Assetto Corsa Rally
- Fogyjunk le!
- Azonnali alaplapos kérdések órája
- TCL LCD és LED TV-k
- Kétezer eurós csomag lehet a Vivo X300 Ultra
- Viccrovat
- Kertészet, mezőgazdaság topik
- További aktív témák...
- HP ProDesk 400, 600 G2,G3 Mini és 600 G2 MT , félkonfig, bővítési opció, mini PC/NAS/HTPC alap
- AKCIÓ! ASUS H81M-A H81 chipset alaplap garanciával hibátlan működéssel
- Lenovo 40B0 ThinkPad Thunderbolt 4 Workstation Dock (300W) (40B00300)
- Akciós áron eladó HP Dragonfly G3 /I7-1265U/32 GB/512B SSD/13,5"/FHD+/400nit/Touch
- MacBook Pro 14" M4 16 GB RAM, 512GB SSD, Silver - 27% ÁFA (0436AB)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
