Ebben a cikkben megvizsgáljuk a calloc() függvényt, és hogyan használható sikeresen C++ nyelven.
Mi az a calloc() függvény?
A calloc() függvény egy memóriafoglalási funkció a C++ programozásban. Egy memóriablokk lefoglalására szolgál egy tömbhöz vagy változókészlethez. A calloc() funkció olyan, mint a malloc() függvényt, kivéve, hogy a lefoglalt memóriát kezdetben nullákra állítja. Ez biztosítja, hogy a lefoglalt memória ismert értékre legyen inicializálva, ami hasznos tömbökkel és struktúrákkal való munka során.
A szintaxis a calloc() függvény az alábbiak:
üres * calloc ( size_t nmemb , size_t méret )
A függvénynek két argumentuma van: nmemb és méret . A nmemb argumentum határozza meg a lefoglalt tömb elemeinek számát, míg a méret Az argumentum az egyes elemek méretét adja meg bájtban.
Továbbá, ha a memóriafoglalás sikeres, a calloc() A függvény null mutatót ad vissza, különben egy mutatót ad vissza az újonnan kialakított memóriablokk elejére. A memóriaszivárgás elkerülése érdekében a memória által lefoglalt memória calloc() segítségével kell eltávolítani ingyenes() módszerrel, ha már nincs rá szükség.
Hogyan használjuk a calloc() függvényt C++-ban?
Használni calloc() függvényt C++ nyelven, kövesse az alábbi lépéseket:
1. lépés: Tartalmazza a szükséges fejlécfájlt calloc() funkció, ami az
2. lépés: Ezután deklaráljon egy mutatóváltozót a kívánt adattípusból.
3. lépés: Ezt követően használja a calloc() függvény a memória lefoglalásához és 0-ra történő inicializálásához.
4. lépés: Szükség szerint használja a lefoglalt memóriát.
5. lépés: Ha befejezte a lefoglalt memória használatát, szabadítsa fel a segítségével ingyenes() funkció.
A következő példa bemutatja a calloc() függvény megvalósítása C++ nyelven.
#include#include
névtér std használatával ;
int fő- ( ) {
int * ptr ;
ptr = ( int * ) calloc ( 6 , mérete ( int ) ) ;
ha ( ! ptr ) {
cout << 'A memóriafoglalás sikertelen' ;
kijárat ( 1 ) ;
}
cout << 'Értékek inicializálása...' << endl
<< endl ;
számára ( int én = 0 ; én < 6 ; én ++ ) {
ptr [ én ] = én * 3 ;
}
cout << 'Inicializált értékek.' << endl ;
számára ( int én = 0 ; én < 6 ; én ++ ) {
cout << * ( ptr + én ) << endl ;
}
ingyenes ( ptr ) ;
Visszatérés 0 ;
}
A fenti kódban egy egész szám mutató ptr először deklarálják. A memória ezután 6 egész számra van lefoglalva a segítségével calloc(), a memória inicializálása 0-val. Az mérete (int) A függvény kiszámítja, hogy mennyi memória szükséges az egész számok tárolásához. A siker érdekében a memóriafoglalást ellenőrizni kell a hibák szempontjából. Ha nem, a program leáll, és hibaüzenet jelenik meg.
A lefoglalt memóriát ezután inicializálják a szorzással kapott számok felhasználásával „i*3” használva számára hurok. A lefoglalt memóriában tárolt értékeket a második for ciklus és mutató aritmetika segítségével nyomtatja ki *(ptr + i) . Végül a dinamikusan lefoglalt memória felszabadul a ingyenes() funkció, amely megállítja a memóriaszivárgást. A program sikeres lefutásának jeleként 0-t ad vissza.
Kimenet
Következtetés
C++ nyelven a calloc() A funkció hasznos a memória dinamikus lefoglalásához. Nemcsak lefoglalja a memóriát, hanem nullázza is, ami tömbökkel és struktúrákkal való munka során hasznos. A felhasználás módjának megértése calloc() hatékonyan létfontosságú a memóriaszivárgások elkerülése és a programvégrehajtás sikerének biztosítása érdekében. A fejlesztők biztonságosan használhatják a calloc() módszert a C++ programjaikban az ebben a cikkben található utasítások követésével.