Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!
Milyen funkciót tölt be,illetve milyen tulajdonsággal rendelkezik,emellett mit csinál a C program felületen a malloc ,illetve a ponterre mutató pointer ,azaz a **?
asdasdasd
kérdése
259
Sajnos nem nagyon értem őket,illetve a lényegüket sem ,hogy végülis mire jók..
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Felsőoktatás / Informatika
Válaszok
1
bongolo{ }
megoldása
Ha azt írod egy szubrutin belsejében, hogy pl. 'int abc;' akkor azzal allokálsz (lefoglalsz) egy 4 byte-os memóriaterületet, aminek neve is van. Ez a memória viszont addig lézezik, amíg a szubrutin (illetve a blokk) belsejében vagy. amíg ott fut a program. Ha visszatér a program a szubrutinból, akkor automatikusan megszűnik a változó.
Ha malloc-kal allokálsz egy mondjuk 4 byte-os területet, akkor annak neve nem lesz, csak egy pointere, azon a pointeren keresztül tudod elérni név híján. Viszont ez a memória nem tűnik el akkor, amikor kilépsz a szurutin belsejéből, megmarad mindaddig, amíg free-vel fel nem szabadítod. Tehát alkalmas arra, hogy olyan adatokat tárolj ebben a memóriában, amit hosszú távon akarsz "életben tartani".
Pl. ha egy szövegszerkesztő programot írsz, ott maga a szöveg meg kell maradjon hosszan, azt ilyen alokált területen lehet pl. tartani. De nagyon sok más esetben is szükség van hosszú távon megmaradó memóriára.
A pointerre mutató pointer az egyszerűen egy olyan pointer, ami egy 8 bytes-os memóriaterületre mutat, amiben éppen "véletlenül" egy pointer van. Néha szükség van ilyenre is, de viszonylag ritkán.
0
asdasdasd:
Köszönöm! Esetleg tudnál mutatni ezekre egy példát?
5 éve0
bongolo:
Hajánál fogva előrángatott példát lehetne, igazit nem, mert ez tipikusan nagyobb méretű problémáknál hasznos. Tipikusan akkor, ha nagy tömbökkel kell dolgozni.
5 éve0
asdasdasd:
Nem olyan példa kell ,aminél van értelme ezt csinálni,hanem olyan példa ,aminél jól van szemléltetve ennek a működése és funkciója az adott program sorba. Kedden ebből fogunk írni felmérőt,ami 4-5 soros ,tehát ott is csak arra lesznek kíváncsiak ,hogy tudjuk -e használni :/
5 éve0