Hirdetés
- Luck Dragon: Asszociációs játék. :)
- djculture: Éhezők ssd és memória viadala.
- laca223: Miért győz a kollektív meggyőződés akkor is, ha saját magát teszi tönkre?
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Parci: Milyen mosógépet vegyek?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Klaus Duran: Kellemes Ünnepeket.
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
-
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!
- MacBook Pro 17" i7 2.6 GHz 8GB RAM 240 GB SSD 8 ciklus az akkuban!
- HIBÁTLAN iPhone 14 Pro Max 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3918
- HIBÁTLAN iPhone 13 Mini 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS4170
- Kezdő Gamer PC-Számítógép! Csere-Beszámítás! I7 3930K / 32GB DDR3 / RX 480 8GB / 500GB SSD!
- Surface Pro 7+ i5-1135G7 16G 256GB 1 év garancia
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: Laptopszaki Kft.
Város: Budapest


