Malloc vs. Calloc

Autor: Laura McKinney
Data Creației: 4 Aprilie 2021
Data Actualizării: 13 Mai 2024
Anonim
Calloc vs malloc | GeeksforGeeks
Video: Calloc vs malloc | GeeksforGeeks

Conţinut

Diferența cheie între malloc și calloc este că malloc atribuie un singur bloc de memorie solicitat, în timp ce calloc atribuie mai multe blocuri de memorie solicitate.


Alocarea memoriei este un concept foarte important în informatică, în programarea computerului trebuie să creați o memorie pentru codul dvs. Malloc și calloc au nevoie de argumente pentru a funcționa. Malloc are nevoie de un singur argument, în timp ce calloc are nevoie de două argumente. Malloc și calloc sunt utilizate pentru programarea C și sunt utilizate pentru alocarea memoriei și de alocare. Alocarea dinamică a memoriei este un concept cel mai important în programarea computerului. Trebuie să alocați memorie în computer înainte de a scrie un program, acea memorie este utilizată pentru execuție.

Malloc este o funcție care este utilizată pentru a atribui un bloc de memorie în octeți. Mărimea blocului este decisă de utilizator și definirea dimensiunii blocului de memorie este foarte importantă înainte de a scrie codul. Alocarea memoriei este dată de RAM. Deci, atunci când programul, cere RAM pentru alocarea de memorie. Când efectuați o solicitare și acea solicitare este acceptată decât funcția malloc se spune că are succes și se alocă memorie. Dacă funcția malloc nu este în măsură să atribuie memoria, atunci NULL a revenit. Funcționarea funcției malloc este foarte asemănătoare cu o funcție calloc, deoarece ambele funcții alocă alocare de memorie. Calloc ia două argumente pentru solicitarea memoriei. În calloc, trebuie să alocăm dimensiunea tipului de date. Cei doi medicamente din calloc sunt separați prin virgule.


Cuprins: Diferența dintre Malloc și Calloc

  • Diagramă de comparație
  • malloc
  • calloc
  • Diferențele cheie
  • Concluzie
  • Video explicativ

Diagramă de comparație

Bazămalloccalloc
Sensmalloc atribuie un singur bloc de memorie solicitat

calloc pentru a atribui mai multe blocuri de memorie solicitate.

 

Sintaxă

Sintaxa mallocului este

void * malloc (mărime_tă mărime);

Sintaxa apelului este

void * calloc (size_t num, size_t size);

VitezăMalloc este mai rapid decât callocCalloc este mai lent decât malloc
Inițializarea malloc () nu șterge și inițializează memoria alocată.Memoria alocată este inițializată la zero folosind calloc ().

malloc

Malloc este o funcție care este utilizată pentru a atribui un bloc de memorie în octeți. Mărimea blocului este decisă de utilizator și definirea dimensiunii blocului de memorie este foarte importantă înainte de a scrie codul. Alocarea memoriei este dată de RAM. Deci, atunci când programul, cere RAM pentru alocarea de memorie. Când efectuați o solicitare și acea solicitare este acceptată decât funcția malloc se spune că are succes și se alocă memorie. Dacă funcția malloc nu este în măsură să atribuie memoria, atunci NULL este returnat.


calloc

Funcționarea funcției malloc este foarte asemănătoare cu o funcție calloc, deoarece ambele funcții alocă alocare de memorie. Calloc ia două argumente pentru solicitarea memoriei. În calloc, trebuie să atribuim dimensiunea tipului de date. Cei doi medicamente din calloc sunt separați prin virgule.

Diferențele cheie

  1. Malloc atribuie un singur bloc de memorie solicitat, în timp ce calloc atribuie mai multe blocuri de memorie solicitate.
  2. Sintaxa malloc este: void * malloc (mărime_t mărime); întrucât Sintaxa apelului este nul * calloc (size_t num, size_t size);
  3. Malloc este mai rapid decât calloc, în timp ce Calloc este mai lent decât malloc.
  4. malloc () nu șterge și inițializează memoria alocată, în timp ce memoria alocată este inițializată la zero folosind calloc ().

Concluzie

În acest articol de mai sus vedem diferența clară între malloc și calloc și cu implementarea.

Video explicativ