Wat is de functie calloc() in C++?

Wat Is De Functie Calloc In C



Het begrijpen van de verschillende soorten geheugentoewijzingsfuncties is van cruciaal belang tijdens het werken in C ++. De calloc() is zo'n functie die vaak wordt gebruikt in C ++ om dynamisch geheugen toe te wijzen. Hoewel het gebruik ervan eenvoudig lijkt, zijn er bepaalde belangrijke aspecten waarmee u rekening moet houden tijdens het gebruik calloc() .

In dit artikel gaan we kijken naar de calloc() functie en hoe deze met succes kan worden gebruikt in C++.

Wat is calloc() Functie?

De calloc() functie is een geheugentoewijzingsfunctie in C++-programmering. Het wordt gebruikt om een ​​geheugenblok toe te wijzen aan een array of een reeks variabelen. De calloc() functie is als de malloc() functie, behalve dat het aanvankelijk ook het toegewezen geheugen op nullen zet. Dit zorgt ervoor dat het toegewezen geheugen wordt geïnitialiseerd op een bekende waarde, wat handig is bij het werken met arrays en structuren.







De syntaxis voor de calloc() functie is als volgt:



leegte * calloc ( maat_t nmb , maat_t maat )

De functie heeft twee argumenten: nmb En maat . De nmb argument specificeert het aantal elementen in de array dat wordt toegewezen, terwijl de maat argument specificeert de grootte van elk element in bytes.



Als de geheugentoewijzing slaagt, wordt het calloc() functie retourneert een null-pointer, anders retourneert het een pointer naar het begin van het nieuw gevormde geheugenblok. Om geheugenlekken te voorkomen, wordt het geheugen toegewezen door calloc() moet worden verwijderd met behulp van de vrij() methode zodra deze niet meer nodig is.





Hoe de calloc()-functie in C++ te gebruiken?

Gebruiken calloc() functie in C++, volg de onderstaande stappen:

Stap 1: Voeg het benodigde headerbestand toe voor calloc() functie, dat is .



Stap 2: Declareer vervolgens een pointervariabele van het gewenste gegevenstype.

Stap 3: Gebruik daarna de calloc() functie om geheugen toe te wijzen en op 0 te initialiseren.

Stap 4: Gebruik het toegewezen geheugen zoals vereist.

Stap 5: Zodra u klaar bent met het gebruik van het toegewezen geheugen, maakt u het vrij met behulp van de vrij() functie.

Het volgende voorbeeld toont de calloc() functie-implementatie in C++.

#include

#include

namespace std; gebruiken ;

int voornaamst ( ) {

int * ptr ;

ptr = ( int * ) calloc ( 6 , De grootte van ( int ) ) ;

als ( ! ptr ) {

cout << 'Geheugentoewijzing mislukt' ;

Uitgang ( 1 ) ;

}

cout << 'Waarden initialiseren...' << eindel

<< eindel ;

voor ( int i = 0 ; i < 6 ; i ++ ) {

ptr [ i ] = i * 3 ;

}

cout << 'Geïnitialiseerde waarden.' << eindel ;

voor ( int i = 0 ; i < 6 ; i ++ ) {

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

}

vrij ( ptr ) ;

opbrengst 0 ;

}

In de bovenstaande code een geheel getal pointer ptr wordt als eerste gedeclareerd. Het geheugen wordt vervolgens toegewezen voor 6 gehele getallen met behulp van calloc(), waarbij het geheugen wordt geïnitialiseerd met 0. De groottevan(int) functie wordt gebruikt om te berekenen hoeveel geheugen nodig is om gehele getallen op te slaan. De geheugentoewijzing wordt vervolgens gecontroleerd op fouten om succes te garanderen. Als dit niet het geval is, wordt het programma beëindigd en wordt er een foutmelding weergegeven.

Het toegewezen geheugen wordt vervolgens geïnitialiseerd met behulp van getallen die zijn verkregen door te vermenigvuldigen ‘ik*3’ gebruik maken van een voor lus. De waarden die in het toegewezen geheugen worden bewaard, worden afgedrukt met behulp van een tweede for loop en pointer rekenkundige methode *(ptr + i) . Uiteindelijk wordt het dynamisch toegewezen geheugen vrijgegeven door het aanroepen van het vrij() functie, die geheugenlekken stopt. Als teken dat het programma met succes is uitgevoerd, retourneert het 0.

Uitgang

Conclusie

In C++ is de calloc() functie is handig voor het dynamisch toewijzen van geheugen. Het wijst niet alleen geheugen toe, maar stelt het ook op nul, wat handig is bij het werken met arrays en structuren. Begrijpen hoe te gebruiken calloc() effectief is van cruciaal belang om geheugenlekken te voorkomen en een succesvolle uitvoering van het programma te garanderen. Ontwikkelaars kunnen veilig gebruik maken van de calloc() methode in hun C++-programma's door de instructies in dit artikel te volgen.