Malloc vs. Calloc

Autor: Laura McKinney
Dátum Stvorenia: 4 Apríl 2021
Dátum Aktualizácie: 10 Smieť 2024
Anonim
Calloc vs malloc | GeeksforGeeks
Video: Calloc vs malloc | GeeksforGeeks

Obsah

Kľúčový rozdiel medzi malloc a calloc je v tom, že malloc priraďuje iba jeden blok požadovanej pamäte, zatiaľ čo calloc priraďuje viac blokov požadovanej pamäte.


Priradenie pamäte je veľmi dôležitý pojem v informatike, v programovaní počítačov musíte vytvoriť pamäť pre váš kód. Malloc a calloc potrebujú argumenty, aby fungovali. Malloc potrebuje iba jeden argument, zatiaľ čo calloc potrebuje dva argumenty. Malloc a calloc sa používajú na programovanie C a používajú sa na alokáciu a delokáciu pamäte. Dynamické prideľovanie pamäte je najdôležitejšou koncepciou v počítačovom programovaní. Pred zapísaním programu musíte v počítači priradiť pamäť, ktorá sa použije na vykonanie.

Malloc je funkcia, ktorá sa používa na priradenie bloku pamäte v bajtoch. O veľkosti bloku rozhoduje užívateľ a pred zadaním kódu je veľmi dôležité definovať veľkosť pamäťového bloku. Pridelenie pamäte je dané RAM. Keď teda program požaduje RAM na pridelenie pamäte. Keď podáte žiadosť a táto požiadavka je prijatá, funkcia malloc sa považuje za úspešnú a pridelí sa pamäť. Ak funkcia malloc nedokáže priradiť pamäť, vráti sa NULL. Fungovanie funkcie malloc je veľmi podobné funkcii calloc, pretože obidve tieto funkcie priraďujú pridelenie pamäte. Calloc berie dva argumenty pre požiadavku na pamäť. V calloc musíme priradiť veľkosť dátového typu. Dva ramená v kaloch sú oddelené čiarkami.


Obsah: Rozdiel medzi Malloc a Calloc

  • Porovnávacia tabuľka
  • malloc
  • calloc
  • Kľúčové rozdiely
  • záver
  • Vysvetľujúce video

Porovnávacia tabuľka

základmalloccalloc
zmyselmalloc priradí iba jeden blok požadovanej pamäte

calloc na priradenie viacerých blokov požadovanej pamäte.

 

syntax

Syntax malloku je

void * malloc (size_t size);

Syntax calloc je

void * calloc (size_t num, size_t size);

rýchlosťMalloc je rýchlejší ako callocCalloc je pomalší ako malloc
inicializácia malloc () nevymaže a inicializuje pridelenú pamäť.Alokovaná pamäť sa inicializuje na nulu pomocou calloc ().

malloc

Malloc je funkcia, ktorá sa používa na priradenie bloku pamäte v bajtoch. O veľkosti bloku rozhoduje užívateľ a pred zadaním kódu je veľmi dôležité definovať veľkosť pamäťového bloku. Pridelenie pamäte je dané RAM. Keď teda program požaduje RAM na pridelenie pamäte. Keď podáte žiadosť a táto požiadavka je prijatá, funkcia malloc sa považuje za úspešnú a pridelí sa pamäť. Ak funkcia malloc nedokáže priradiť pamäť, vráti sa NULL.


calloc

Fungovanie funkcie malloc je veľmi podobné funkcii calloc, pretože obidve tieto funkcie priraďujú pridelenie pamäte. Calloc berie dva argumenty pre požiadavku na pamäť. V calloc musíme priradiť veľkosť typu údajov. Dva ramená v kaloch sú oddelené čiarkami.

Kľúčové rozdiely

  1. Malloc priraďuje iba jeden blok požadovanej pamäte, zatiaľ čo calloc priraďuje viac blokov požadovanej pamäte.
  2. Syntax malloc je: void * malloc (size_t size); keďže syntax calloc je neplatná * calloc (size_t num, size_t size);
  3. Malloc je rýchlejší ako calloc, zatiaľ čo Calloc je pomalší ako malloc.
  4. malloc () nevymaže a inicializuje pridelenú pamäť, zatiaľ čo pridelená pamäť sa inicializuje na nulu pomocou calloc ().

záver

V tomto článku vyššie vidíme jasný rozdiel medzi malloc a calloc a implementáciou.

Vysvetľujúce video