Hirdetés
-
PROHARDVER!

Ú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!
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Space Black - 1 ÉV GARANCIA -Kártyafüggetlen, MS4332
- Asus Chromebook C423NA, 8GB RAM, N4200 Pentium, 180 Kihajtható
- 27% - HP Omen 35L GAMER PC! Ryzen 8700F / RTX 4070 Super / 64GB DDR5 / 2TB NVMe! BeszámítOK
- Dell Optiplex 3020 MT,i3-4130,8GB RAM,128GB SSD,WIN10
- DDR5 8/ 16/ 32GB 4800-5600MHz UDIMM PC RAM, több db- számla, garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


