Malloc versus Calloc

Schrijver: Laura McKinney
Datum Van Creatie: 4 April 2021
Updatedatum: 16 Kunnen 2024
Anonim
Calloc vs malloc | GeeksforGeeks
Video: Calloc vs malloc | GeeksforGeeks

Inhoud

Het belangrijkste verschil tussen malloc en calloc is dat malloc slechts een enkel blok gevraagd geheugen toewijst, terwijl calloc meerdere blokken gevraagd geheugen toewijst.


Geheugentoewijzing is een zeer belangrijk concept in de informatica, bij computerprogrammering moet u een geheugen voor uw code maken. Malloc en calloc hebben argumenten nodig om te werken. Malloc heeft slechts één argument nodig, terwijl calloc twee argumenten nodig heeft. Malloc en calloc worden gebruikt voor C-programmering en ze worden gebruikt voor geheugentoewijzing en de-toewijzing. Dynamische geheugentoewijzing is een belangrijk concept bij computerprogrammering. U moet geheugen toewijzen in de computer voordat u een programma schrijft, dat geheugen wordt gebruikt voor de uitvoering.

Malloc is een functie die wordt gebruikt om een ​​geheugenblok in bytes toe te wijzen. De grootte van het blok wordt bepaald door de gebruiker en het bepalen van de grootte van het geheugenblok is erg belangrijk voordat de code wordt geschreven. De toewijzing van het geheugen wordt gegeven door RAM. Dus wanneer het programma, het vraagt ​​RAM voor toewijzing van geheugen. Wanneer u een verzoek indient en dat verzoek wordt geaccepteerd, wordt gezegd dat de malloc-functie succesvol is en dat geheugen is toegewezen. Als de malloc-functie het geheugen niet kan toewijzen, keert NULL terug. De werking van de malloc-functie lijkt sterk op een calloc-functie, omdat beide functies geheugentoewijzing toewijzen. Calloc neemt twee argumenten voor het verzoek om geheugen. In calloc moeten we de grootte van het gegevenstype toewijzen. De twee arugemnts in calloc worden gescheiden door komma's.


Inhoud: Verschil tussen Malloc en Calloc

  • Vergelijkingstabel
  • malloc
  • calloc
  • Belangrijkste verschillen
  • Gevolgtrekking
  • Verklarende video

Vergelijkingstabel

Basismalloccalloc
Betekenismalloc wijst een enkel blok van gevraagd geheugen toe

calloc om meerdere blokken gevraagde geheugen toe te wijzen.

 

Syntaxis

Syntaxis van malloc is

void * malloc (size_t size);

Syntaxis van calloc is

void * calloc (size_t num, size_t size);

SnelheidMalloc is sneller dan callocCalloc is langzamer dan malloc
initialisatie de malloc () wist het toegewezen geheugen niet en initialiseert het niet.Het toegewezen geheugen wordt op nul geïnitialiseerd met behulp van calloc ().

malloc

Malloc is een functie die wordt gebruikt om een ​​geheugenblok in bytes toe te wijzen. De grootte van het blok wordt bepaald door de gebruiker en het bepalen van de grootte van het geheugenblok is erg belangrijk voordat de code wordt geschreven. De toewijzing van het geheugen wordt gegeven door RAM. Dus wanneer het programma, het vraagt ​​RAM voor toewijzing van geheugen. Wanneer u een verzoek indient en dat verzoek wordt geaccepteerd, wordt gezegd dat de malloc-functie succesvol is en dat geheugen is toegewezen. Als de malloc-functie het geheugen niet kan toewijzen, wordt NULL geretourneerd.


calloc

De werking van de malloc-functie lijkt sterk op een calloc-functie, omdat beide functies geheugentoewijzing toewijzen. Calloc neemt twee argumenten voor het verzoek om geheugen. In calloc moeten we de grootte van het gegevenstype toewijzen. De twee arugemnts in calloc worden gescheiden door komma's.

Belangrijkste verschillen

  1. Malloc wijst slechts een enkel blok gevraagd geheugen toe, terwijl calloc meerdere blokken gevraagd geheugen toewijst.
  2. Syntaxis van malloc is: void * malloc (size_t size); overwegende dat de syntaxis van calloc ongeldig is * calloc (size_t num, size_t size);
  3. Malloc is sneller dan calloc terwijl Calloc langzamer is dan malloc.
  4. de malloc () wist het toegewezen geheugen niet en initialiseert het, terwijl het toegewezen geheugen met nul wordt geïnitialiseerd.

Gevolgtrekking

In dit artikel hierboven zien we het duidelijke verschil tussen malloc en calloc en met de implementatie.

Verklarende video