Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Geri Bátyó: Agglegénykonyha 14 – Kések, késélezés
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: MárkaLánc
- sziku69: Szólánc.
- bobalazs: i5 4690 + RX 460 HTPC
- Brogyi: CTEK akkumulátor töltő és másolatai
Ú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!
- Anglia - élmények, tapasztalatok
- Wise (ex-TransferWise)
- Revolut
- Hegesztés topic
- AMD vs. INTEL vs. NVIDIA
- PlayStation 5
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- Amerika kész lemondani a kormányról
- ASUS blog: 2K-tól a 4K-ig és tovább a Radeon RX 9000-es szériával
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- Manli RTX 3070 8GB LHR / Csavarmatricás / Beszámítás OK! / Akciós ár!
- Apple Watch 4 44mm szürke színben. 74% akkumulátor.
- Canon EF-S 24mm f/2.8 STM objektív
- Dell Inspiron 16 Plus 7640 Ultra 7 / RTX 4060 16gb DDR5 1TB SSD/2.5K 120Hz Garancia
- Canon 60D fényképezőgép + 50mm objektív + 16GB memóriakártya
- Apple iPhone 16 Pro Max 256GB - Kártyafüggetlen, Sivatagszín, 91% Akku - 1 Év Garanciával
- Frissen pasztázva! Playstation 4 Pro 1 TB + kontroller 6 hó garancia, számlával!
- Samsung Galaxy Book PRO 2 /i7-1260P/16GB/512SSD/AMOLED/13.3/Intel Iris Xe/Gari
- BESZÁMÍTÁS! ASRock B550 R5 5600 16GB DDR4 512GB SSD RX 6600 XT 8GB Zalman i3 Edge FSP 700W
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
