Hirdetés
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Amazfit Active 2 NFC - jó kör
- Xiaomi 15T Pro - a téma nincs lezárva
- Telekom mobilszolgáltatások
- Olyan lesz a Google Térkép, mint a segítőkész haver az anyósülésen
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Okosóra és okoskiegészítő topik
- Apple Watch
- Motorola Edge 70 - többért kevesebbet
- iPhone 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!
- Gumi és felni topik
- Minőségi ugrást hozhat a One új médiaboxa?
- Azonnali VGA-s kérdések órája
- Teljesen a játékosok szolgálatában
- Brogyi: CTEK akkumulátor töltő és másolatai
- Linux kezdőknek
- Bekrepáltak a régebbi Forzák az NVIDIA új drivereivel
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- Robotporszívók
- Apple MacBook
- További aktív témák...
- STARTECH 4-Port PCIe Gigabit Network Adapter Card új 4db
- HP EliteBook 840 G10 - 14"WUXGA - i7-1360P - 16GB - 512GB - Win11 - MAGYAR - 3 év garancia
- Ryzen5 4500/ RTX2060/ 16GB DDR4 alapú konfig/ garancia/ ingyen foxpost
- Régi okostelefon tokok - 500 Ft/darab
- Corsair VENGEANCE LPX 2x16GB DDR4 3200MHz CL16 - Új, bontatlan - Eladó!
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700K / RTX 2060 6GB / 32GB DDR4 / 500 SSD
- Samsung Galaxy S24 FE / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- HIBÁTLAN iPhone 13 Pro Max 256GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS3685 100% Akkumulátor
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- Honor 200 Lite / 8/256GB / Kártyafüggetlen / 12HÓ Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


