Miért olyan fontos programozásnál, hogy a változók
memóriacímével is dolgozunk?
Figyelt kérdés
Nem mindegy a felhasználás szempontjából, hogy egy változó hol tárolódik?
2016. nov. 18. 17:32
1/7 anonim válasza:
Most konkrétan mire gondolsz? Az, hogy pontosan mely memóriacímen tárolódik, az szinte sosem fontos.
2016. nov. 18. 17:35
Hasznos számodra ez a válasz?
2/7 anonim válasza:
Tök mindegy, hol tárolódik. Az nem tök mindegy, hogy mikor jön létre, és mikor szűnik meg.
2016. nov. 18. 17:41
Hasznos számodra ez a válasz?
3/7 anonim válasza:
Ha kicsit több konkrétumot írtnál, pontosabb választ lehetne adni. De alapvetően nyelvfüggő, C#-ban pl közvetlenül memóriacímmel ritkán kell zsonglőrködni, de a referenciák alapvetően ugyanolyan célt szolgálnak, mint amire pl C-ben a memóriacímeket használjuk.
"Nem mindegy a felhasználás szempontjából, hogy egy változó hol tárolódik?"
Alapvetően de, kivéve, amikor nem. Amikor fontos a végrehajtás sebessége, érdemes törekedni arra, hogy a gyakran együtt használt adatok egymáshoz közel helyezkedjenek el, mivel így a processzor gyorsítótára hatékonyan teheti a dolgát. Például egy egydimenziós tömbön és egy láncolt listán végigiterálni algoritmikus szempontból ugyanolyan hatékonyan lehet - egész pontosan O(n) lépésben -, mégis előbbi lesz gyorsabb, mert ott nem borítjuk fel a lokalitás elvét.
2016. nov. 18. 18:49
Hasznos számodra ez a válasz?
4/7 anonim válasza:
Azért, mert sokkal rövidebb és gyorsabb
a kód.
2016. nov. 18. 20:09
Hasznos számodra ez a válasz?
5/7 A kérdező kommentje:
Konkrétan arra gondoltam, hogy a c és c++ nyelveken írt programok tele vannak pointerekkel, int x; int *p =&x;stb és már a kezdőket ezzel ba5zogatják, akik még csak átlagszámoló függvényeket írnak tanuló példának.
2016. nov. 18. 23:03
6/7 anonim válasza:
Senki nem bаszogat senkit.
2016. nov. 19. 14:02
Hasznos számodra ez a válasz?
7/7 anonim válasza:
A pointereknek nem az a jelentősége, hogy megmondjuk mi hol tárolódjon, hanem... nos, sokminden. Az egyik legalapvetőbb oka a pointerek és a referenciák használatának az, hogy ne érték szerint adj át egy változót egy függvénynek. Egyrészt, mert az érték szerinti átadásnál a teljes objektumból másolat készül, ez pedig nagyobb adatszerkezeteknél megengedhetetlen, másrészt pedig mert így egy másolattal fogsz dolgozni, és az eredetit nem tudod módosítani. Bármelyik függvényben, ha a paraméterben átadott változóval magával akarsz dolgozni, és nem egy másolattal, akkor vagy a referenciáját kell átadnod, vagy a rá mutató pointert. Különböző adatszerkezetekben van még nagy jelentősége a pointereknek, pl láncolt listát sem lehetne nélkülük csinálni, és.. igazából rengetegféleképpen hasznosak és használhatóak.
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik. Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!