Hirdetés
- Yettel topik
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- MIUI / HyperOS topik
- Xiaomi 17 Ultra - jó az optikája
- Április bolondja? Csak egy lebegő mobiltálca
- Xiaomi 17 - még mindig tart
- Fotók, videók mobillal
- Milyen okostelefont vegyek?
- Szívós, szép és kitartó az új OnePlus óra
- Google Pixel topik
Ú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!
- Milyen TV-t vegyek?
- A fociról könnyedén, egy baráti társaságban
- Yettel topik
- Óriási ugrás: teszten az ASUS Zenbook A16 és a Snapdragon X2
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- LG LCD és LED TV-k
- OLED TV topic
- Építő/felújító topik
- Elemlámpa, zseblámpa
- További aktív témák...
- PS5 Slim Digital (CFI-2016) Karcmentes, 1 kontroller
- ASUS ROG Zephyrus G14 Ryzen 9 / RTX 4070 / 32GB / 1 TB SSD 2K 165Hz PRÉMIUM
- Dobozod ÚJ Lenovo LOQ i7 / RTX 4050 / 144Hz / GARANCIA 2027.03.
- Ultra Rampage Mobile Gamer Csomag: Lenovo Legion Duel 2 + egyedi kiegészítők! 512GB EU verziós!
- Asus TUF RX 6900 XT
- LG UltraWide 34WQ75C-B IPS Monitor! 3440x1440 / 60Hz / sRGB 99% / Type-C
- Magyar, Aktiválatlan! Apple MacBook Pro 14! M3, 8GB, 500GB! BeszámítOK
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I7 6700 / 16GB DDR4 / GTX 1650 Super / 500 SSD
- Xbox Series S 512 GB + kontroller 6 hó garancia, számlával!
- Licencek
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

