Hirdetés
- Luck Dragon: Asszociációs játék. :)
- creation: Elég lett abból, hogy a nagy gépeim nem képesek behúzni a filamentet
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- MasterDeeJay: Intel Optane M10: mire lehet használni?
- Fecogame: 1 laptop, 1 PC, 2 monitor, 1 hangfal. Hogyan?
- Fecogame: Cég felvásárlás - Volt már benne részetek munkavállalóként?
- Elektromos rásegítésű kerékpárok
- gban: Ingyen kellene, de tegnapra
- hcl: GPT diszk kisebbre klónozása
-
LOGOUT

Új hozzászólás Aktív témák
-
kovisoft
őstag
válasz
axioma
#11374
üzenetére
Nem, ez nem fordítói jófejség, és nem csak a scanf-ben működik így, az egésznek mélyebb oka van. A char *ptr egy pointer, ahol a változó tartalma egy memóriacím, amire mutat. A változó értékét módosíthatod, és akkor egy másik memóriaterületre fog mutatni.
A char str[10] változó ezzel szemben ténylegesen azt a 10 byte-ot jelenti, amit lefoglalt számára a fordító, és nem változtathatod meg, hogy milyen memóriacímre mutasson. Tehát amíg ez legális: ptr=str, addig ez nem legális: str=ptr. De másként működik rájuk a sizeof is: sizeof(str)=10 lesz, nem pedig a pointer mérete (pl. 8).
Abban viszont tökéletesen egyetértünk, hogy nem jó gyakorlat a konkrét esetben &-tel használni, én sem szoktam, és nem is buzdítottam senkit erre. Ahogy írtad, egy kezdőnek az &input[0] a legbiztonságosabb forma.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Asus Chromebook C423NA, 8GB RAM, N4200 Pentium, 180 Kihajtható
- Keresünk iPhone 16/16e/16 Plus/16 Pro/16 Pro Max
- Azonnali készpénzes Intel i5 i7 i9 8xxx 9xxx processzor felvásárlás személyesen / csomagküldés
- RGB GAMER PC! i7-13700K / RTX 4080 / Z790 Strix / 32GB 3600MHz / 2TB NVMe / 850w Gold!
- Csak 1 db! 27% Áfás, Új Mac Studio M2 Ultra 24/60 mag, 64GB RAM, 1TB SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

