Hvad er calloc()-funktionen i C++?

Hvad Er Calloc Funktionen I C



Det er afgørende at forstå de forskellige typer hukommelsesallokeringsfunktioner, mens du arbejder i C++. Det calloc() er en sådan funktion, der ofte bruges i C++ til dynamisk at allokere hukommelse. Selvom brugen kan virke simpel, er der visse væsentlige aspekter at huske på, mens du bruger calloc() .

I denne artikel vil vi se på calloc() funktion og hvordan den kan bruges med succes i C++.

Hvad er calloc() funktion?

Det calloc() funktion er en hukommelsesallokeringsfunktion i C++ programmering. Det bruges til at allokere en hukommelsesblok til en matrix eller et sæt af variabler. Det calloc() funktionen er ligesom malloc() funktion, bortset fra at den også indstiller den allokerede hukommelse til nul i begyndelsen. Dette sikrer, at den allokerede hukommelse initialiseres til en kendt værdi, hvilket er nyttigt, når man arbejder med arrays og strukturer.







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



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

Funktionen tager to argumenter: nmemb og størrelse . Det nmemb argument angiver antallet af elementer i arrayet, der allokeres, mens størrelse argument angiver størrelsen af ​​hvert element i bytes.



Også, hvis hukommelsestildelingen lykkes, vil calloc() funktion returnerer en nul-pointer, ellers returnerer den en pointer til begyndelsen af ​​den nydannede hukommelsesblok. For at undgå hukommelseslækager, er hukommelsen tildelt af calloc() skal fjernes ved hjælp af gratis() metode, når den ikke længere er påkrævet.





Sådan bruges calloc()-funktionen i C++?

At bruge calloc() funktion i C++, følg nedenstående trin:

Trin 1: Inkluder den nødvendige header-fil til calloc() funktion, dvs .



Trin 2: Deklarer derefter en pointervariabel af den ønskede datatype.

Trin 3: Brug derefter calloc() funktion til at allokere hukommelse og initialisere den til 0.

Trin 4: Brug den tildelte hukommelse efter behov.

Trin 5: Når du er færdig med at bruge den tildelte hukommelse, frigør den ved hjælp af gratis() fungere.

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

#include

#include

bruger navneområde std ;

int vigtigste ( ) {

int * ptr ;

ptr = ( int * ) calloc ( 6 , størrelse på ( int ) ) ;

hvis ( ! ptr ) {

cout << 'Hukommelsestildeling mislykkedes' ;

Afslut ( 1 ) ;

}

cout << 'Initialiserer værdier...' << endl

<< endl ;

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

ptr [ jeg ] = jeg * 3 ;

}

cout << 'Initialiserede værdier.' << endl ;

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

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

}

gratis ( ptr ) ;

Vend tilbage 0 ;

}

I ovenstående kode, en heltalsmarkør ptr erklæres først. Hukommelsen allokeres derefter til 6 heltal vha calloc(), hvor hukommelsen initialiseres med 0. Den størrelse på (int) funktion bruges til at beregne, hvor meget hukommelse der kræves for at gemme heltal. Hukommelsesallokeringen kontrolleres derefter for fejl for at sikre succes. Hvis ikke, afsluttes programmet, og der vises en fejlmeddelelse.

Den tildelte hukommelse initialiseres derefter ved hjælp af tal opnået ved at gange 'i*3' ved hjælp af en til sløjfe. Værdierne, der opbevares i den tildelte hukommelse, udskrives ved hjælp af et sekund for loop og pointer aritmetik med *(ptr + i) . I sidste ende frigives den hukommelse, der blev dynamisk allokeret, ved at kalde gratis() funktion, som stopper hukommelseslækager. Som et tegn på, at programmet har kørt med succes, returnerer det 0.

Produktion

Konklusion

I C++ er calloc() funktion er nyttig til dynamisk allokering af hukommelse. Den tildeler ikke kun hukommelse, men nulstiller den også, hvilket er nyttigt, når du arbejder med arrays og strukturer. Forstå hvordan man bruger calloc() effektivt er afgørende for at undgå hukommelseslækager og sikre programudførelse succes. Udviklere kan sikkert bruge calloc() metode i deres C++-programmer ved at følge instruktionerne i denne artikel.