Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- sziku69: Fűzzük össze a szavakat :)
- Sapphi: StremHU | Source – Self-hostolható Stremio addon magyar trackerekhez
- HThomas: Az ideális home office monitor nyomában
- BerserkGuts: 9800X3D Hitvallás, Dogma megcáfolása egy RTX5080+12600K-val
- eBay-es kütyük kis pénzért
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- eldiablo: 30 év után szakítottunk, de azért még beszélünk...
Ú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
Hirdetés
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Konzolokról KULTURÁLT módon
- Külföldi prepaid SIM-ek itthon
- Megjöttek Magyarországra a Redmi Note 15-ök, január 22-től ennyiért kaphatók
- Luck Dragon: Asszociációs játék. :)
- EAFC 26
- Gitáros topic
- Alaposan helyretette az AI ellenzőit az NVIDIA vezetője
- Jövedelem
- Azonnali informatikai kérdések órája
- Arc Raiders
- További aktív témák...
- Apple iPhone 12 Pro Max 128GB Akku: 89%, Normál, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garancia!
- Samsung Galaxy S23 Ultra 12/512GB, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Apple iPhone 13 128GB Akku: 100%, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Google Pixel Kijelző csere BP XIII.Ker Google Pixel Akku csere +36705709017
- X13 Yoga Gen3 2-in-1 27% 13.3" QHD+ IPS érintő i5-1245U 32GB 512GB NVMe IR kam aktív toll gar
- Nuki Smart Lock Ultra okoszár
- HIBÁTLAN iPhone 14 Pro Max 128GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3910
- 195 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070
- 186 - Lenovo Legion 5 (15IRX10) - Intel Core i7-13650HX, RTX 5070
- 156 - Lenovo LOQ (15IRH8) - Intel Core i5-13505H, RTX 4060
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

