-
Fototrend

Ú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!
- HP ProDesk 600 G4 USDT,Pentium Gold G5400T,8GB DDR4,256GB M2 SSD,WIN11
- Microsoft: Windows / Office / Server / Stb.
- 27% - Lenovo LOQ i5-14400F / 32GB DDR5 / 1TB SSD / RTX 5060! BeszámítOK!
- Nvidia Quadro és AMD FirePro kártyák - számla, 6 hó gar.
- Xbox Series S 512 GB + kontroller 6 hó garancia, számlával!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

