Kas yra calloc() funkcija C++?

Kas Yra Calloc Funkcija C



Dirbant su C++ labai svarbu suprasti įvairių tipų atminties paskirstymo funkcijas. The calloc() yra viena iš tokių funkcijų, dažnai naudojama C++ dinamiškai paskirstyti atmintį. Nors jo naudojimas gali atrodyti paprastas, naudojant reikia nepamiršti tam tikrų svarbių aspektų calloc() .

Šiame straipsnyje mes apžvelgsime calloc() funkcija ir kaip ji gali būti sėkmingai naudojama C++.

Kas yra calloc() funkcija?

The calloc() funkcija yra C++ programavimo atminties paskirstymo funkcija. Jis naudojamas masyvo arba kintamųjų rinkinio atminties blokui priskirti. The calloc() funkcija yra kaip malloc () funkcija, išskyrus tai, kad ji iš pradžių nustato paskirtą atmintį į nulius. Tai užtikrina, kad skirta atmintis inicijuojama iki žinomos vertės, o tai naudinga dirbant su masyvais ir struktūromis.







Sintaksė, skirta calloc() funkcija yra taip:



tuštuma * calloc ( dydis_t nmemb , dydis_t dydis )

Funkcija turi du argumentus: nmemb ir dydis . The nmemb argumentas nurodo elementų skaičių paskirstomame masyve, o dydis argumentas nurodo kiekvieno elemento dydį baitais.



Be to, jei atminties paskirstymas pavyksta, calloc() funkcija grąžina nulinę žymeklį, kitu atveju grąžina žymeklį į naujai suformuoto atminties bloko pradžią. Kad būtų išvengta atminties nutekėjimo, atmintis, paskirta pagal calloc() turėtų būti pašalintas naudojant Laisvas() metodas, kai jis nebereikalingas.





Kaip naudoti calloc() funkciją C++?

Naudoti calloc() funkcija C++, atlikite toliau nurodytus veiksmus:

1 žingsnis: Įtraukite reikalingą antraštės failą calloc() funkcija, kuri yra .



2 žingsnis: Tada deklaruokite norimo duomenų tipo rodyklės kintamąjį.

3 veiksmas: Po to naudokite calloc() funkcija paskirstyti atmintį ir inicijuoti ją į 0.

4 veiksmas: Jei reikia, naudokite skirtą atmintį.

5 veiksmas: Baigę naudoti skirtą atmintį, atlaisvinkite ją naudodami Laisvas() funkcija.

Toliau pateiktame pavyzdyje parodyta calloc() funkcijos įgyvendinimas C++.

#include

#include

naudojant vardų sritį std ;

tarpt pagrindinis ( ) {

tarpt * ptr ;

ptr = ( tarpt * ) calloc ( 6 , dydis ( tarpt ) ) ;

jeigu ( ! ptr ) {

cout << „Atminties paskirstymas nepavyko“ ;

išeiti ( 1 ) ;

}

cout << „Inicijuojamos vertybės...“ << endl

<< endl ;

dėl ( tarpt i = 0 ; i < 6 ; i ++ ) {

ptr [ i ] = i * 3 ;

}

cout << „Inicijuotos vertės“. << endl ;

dėl ( tarpt i = 0 ; i < 6 ; i ++ ) {

cout << * ( ptr + i ) << endl ;

}

Laisvas ( ptr ) ;

grąžinti 0 ;

}

Aukščiau pateiktame kode sveikojo skaičiaus rodyklė ptr deklaruojamas pirmasis. Tada atmintis paskirstoma 6 sveikiesiems skaičiams naudojant calloc (), kai atmintis inicijuojama 0 dydis (tarp) Funkcija naudojama apskaičiuoti, kiek atminties reikia sveikiesiems skaičiams išsaugoti. Tada patikrinama, ar atminties paskirstymas yra sėkmingas, ar nėra klaidų. Jei ne, programa nutraukiama ir parodomas klaidos pranešimas.

Paskirstyta atmintis inicijuojama naudojant skaičius, gautus padauginus „i*3“ naudojant a dėl kilpa. Paskirstytoje atmintyje laikomos reikšmės spausdinamos naudojant sekundę kilpai ir rodyklės aritmetiką su *(ptr + i) . Galiausiai atmintis, kuri buvo dinamiškai paskirstyta, išlaisvinama paskambinus Laisvas() funkcija, kuri sustabdo atminties nutekėjimą. Kaip ženklą, kad programa sėkmingai paleista, ji grąžina 0.

Išvestis

Išvada

C++ kalboje calloc() funkcija naudinga dinamiškai paskirstant atmintį. Jis ne tik paskirsto atmintį, bet ir ją nulinės, o tai naudinga dirbant su masyvais ir struktūromis. Supratimas, kaip panaudoti calloc() efektyvus yra labai svarbus norint išvengti atminties nutekėjimo ir užtikrinti sėkmingą programos vykdymą. Kūrėjai gali saugiai naudotis calloc() metodą savo C++ programose, vadovaudamiesi šiame straipsnyje pateiktomis instrukcijomis.