Programozás C-készítő
Dinamikus memória kiosztás keresztül a könyvtár funkciója malloc az alábbi lépéseket.
1. befogadás a programban malloc header fájlt. h irányelv # include
p = (int *) malloc (száma tömb * sizeof (int) elemek);
Ahelyett, hogy int lehet helyettesíteni bármilyen szabványos vagy az új típusú programozó.
4. Ellenőrzés a tényleges memória kiosztás. Ha a memória kiosztás a helyes összeget lehetetlen, malloc függvény visszatér az eredménye nulla NULL pointer. értékének megfelelő hamis. Ha a memória kiosztás történik, továbbra is a program végrehajtása, ha nem, akkor kap belőle a megfelelő diagnózis kevés a memória. például:
if (! p) az üzenetet; mást folytatása;
5. felszabadítása után munka vele. Ehhez hívjuk a f rec funkciót, és használja a mutatót érvként:
A leggyakoribb oka a „befagyasztása” a számítógép, ha dolgozik, dinamikusan allokált memória a mismatch utasítás malloc és free (mindkét utasítást kell használni ugyanazt index) vagy nincs elegendő szabad memória.
Példaként tekintsük a bemenet / kimenet dinamikus dimenziós tömb tetszőleges hosszúságú által meghatározott billentyűzetet.
cout <
massiv = (int *) malloc (n * sizeof (int)); // kiválasztás dinam.pamyati
if (! tömör) // tény-ellenőrző memóriafoglalási
cout < for (i = 0; i for (i = 0; i szabad (massiv); // szabad memória Ebben a programban, csak a mutató elosztásához használt dinamikus memóriát. Következik fellebbezést tömb elemei révén a tömb neve megegyezik a neve az index. Dinamikus memória kiosztás is használhatja calloc () függvényt. Ellentétben malloc calloc funkció mellett memóriakiosztás alatti terület a tömb másik tömb elemeit inicializálja a nullához. Attól függően, hogy a változat C ++ nagy dinamikus memória fragmentumok farmalloc alkalmazási funkciók (), farcalloc (), farcoreleft () és farfree ().Kapcsolódó cikkek