Hva er calloc()-funksjonen i C++?

Hva Er Calloc Funksjonen I C



Å forstå de ulike typene minneallokeringsfunksjoner er avgjørende når du arbeider i C++. De calloc() er en slik funksjon som ofte brukes i C++ for å dynamisk allokere minne. Selv om bruken kan virke enkel, er det visse viktige aspekter å huske på når du bruker calloc() .

I denne artikkelen skal vi se på calloc() funksjon og hvordan den kan brukes med hell i C++.

Hva er calloc()-funksjonen?

De calloc() funksjon er en minneallokeringsfunksjon i C++-programmering. Den brukes til å tildele en minneblokk for en matrise eller et sett med variabler. De calloc() funksjonen er som malloc() funksjon, bortsett fra at den også setter det tildelte minnet til null i utgangspunktet. Dette sikrer at det tildelte minnet initialiseres til en kjent verdi, noe som er nyttig når du arbeider med matriser og strukturer.







Syntaksen for calloc() funksjon er som følgende:



tomrom * calloc ( størrelse_t nmemb , størrelse_t størrelse )

Funksjonen tar to argumenter: nmemb og størrelse . De nmemb argument spesifiserer antall elementer i matrisen som tildeles, mens størrelse argument spesifiserer størrelsen på hvert element i byte.



Hvis minnetildelingen lykkes, vil også calloc() funksjonen returnerer en null-peker, ellers returnerer den en peker til begynnelsen av den nyopprettede minneblokken. For å unngå minnelekkasjer, er minnet tildelt av calloc() bør fjernes ved hjelp av gratis() metode når den ikke lenger er nødvendig.





Hvordan bruke calloc()-funksjonen i C++?

Å bruke calloc() funksjon i C++, følg trinnene nedenfor:

Trinn 1: Inkluder den nødvendige overskriftsfilen for calloc() funksjon, som er .



Steg 2: Deklarer deretter en pekervariabel av ønsket datatype.

Trinn 3: Bruk deretter calloc() funksjon for å tildele minne og initialisere det til 0.

Trinn 4: Bruk det tildelte minnet etter behov.

Trinn 5: Når du er ferdig med å bruke det tildelte minnet, frigjør det ved å bruke gratis() funksjon.

Følgende eksempel viser calloc() funksjonsimplementering i C++.

#include

#include

bruker navneområde std ;

int hoved- ( ) {

int * ptr ;

ptr = ( int * ) calloc ( 6 , størrelsen av ( int ) ) ;

hvis ( ! ptr ) {

cout << 'Minnetildeling mislyktes' ;

exit ( 1 ) ;

}

cout << 'Initialiserer verdier ...' << endl

<< endl ;

til ( int Jeg = 0 ; Jeg < 6 ; Jeg ++ ) {

ptr [ Jeg ] = Jeg * 3 ;

}

cout << 'Initialiserte verdier.' << endl ;

til ( int Jeg = 0 ; Jeg < 6 ; Jeg ++ ) {

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

}

gratis ( ptr ) ;

komme tilbake 0 ;

}

I koden ovenfor, en heltallspeker ptr er deklarert først. Minnet blir deretter allokert for 6 heltall ved hjelp av calloc(), med minnet initialisert med 0. The størrelse på (int) funksjonen brukes til å beregne hvor mye minne som kreves for å lagre heltall. Minnetildelingen sjekkes deretter for feil for å sikre suksess. Hvis ikke, avsluttes programmet og en feilmelding vises.

Det tildelte minnet initialiseres deretter ved å bruke tall oppnådd ved å multiplisere 'i*3' bruker en til Løkke. Verdiene som holdes i det tildelte minnet skrives ut ved å bruke et sekund for løkke- og peker-aritmetikk med *(ptr + i) . Til syvende og sist frigjøres minnet som ble dynamisk tildelt ved å ringe til gratis() funksjon, som stopper minnelekkasjer. Som et tegn på at programmet har kjørt vellykket, returnerer det 0.

Produksjon

Konklusjon

I C++ er calloc() funksjonen er nyttig for dynamisk tildeling av minne. Den tildeler ikke bare minne, men nullstiller det også, noe som er nyttig når du arbeider med matriser og strukturer. Forstå hvordan man kan bruke calloc() effektivt er avgjørende for å unngå minnelekkasjer og for å sikre suksess med programkjøring. Utviklere kan trygt bruke calloc() metoden i deres C++-programmer ved å følge instruksjonene gitt i denne artikkelen.