Malloc pret Calloc

Autors: Laura McKinney
Radīšanas Datums: 4 Aprīlis 2021
Atjaunināšanas Datums: 15 Maijs 2024
Anonim
Dynamic Memory Allocation - malloc( ),calloc( ),realloc() and free()
Video: Dynamic Memory Allocation - malloc( ),calloc( ),realloc() and free()

Saturs

Galvenā atšķirība starp malloc un calloc ir tā, ka malloc piešķir tikai vienu pieprasītās atmiņas bloku, savukārt calloc piešķir vairākus pieprasītās atmiņas blokus.


Atmiņas piešķiršana ir ļoti svarīgs jēdziens datorzinātnēs, datorprogrammēšanā jums ir jāizveido sava koda atmiņa. Mallokam un kallokam nepieciešami argumenti darbam. Mallokam ir vajadzīgs tikai viens arguments, savukārt kallokam - divi argumenti. Malloc un calloc tiek izmantoti C programmēšanai, un tos izmanto atmiņas iedalīšanai un atdalīšanai. Dinamiskā atmiņas iedalīšana ir vissvarīgākais jēdziens datoru programmēšanā. Pirms programmas rakstīšanas jums jāpiešķir atmiņa datorā, ka atmiņa tiek izmantota izpildīšanai.

Malloc ir funkcija, ko izmanto, lai piešķirtu atmiņas bloku baitos. Bloka lielumu nosaka lietotājs, un pirms koda rakstīšanas ir ļoti svarīgi noteikt atmiņas bloka lielumu. Atmiņas piešķiršanu piešķir RAM. Tātad, kad programma, tā pieprasa RAM atmiņas piešķiršanai. Kad jūs iesniedzat pieprasījumu un tas tiek pieņemts, tiek uzskatīts, ka malloc funkcija ir veiksmīga, un tiek piešķirta atmiņa. Ja funkcija malloc nespēj piešķirt atmiņu, atgriezās NULL. Malloc funkcijas darbība ir ļoti līdzīga kalloc funkcijai, jo abas šīs funkcijas piešķir atmiņas sadalījumu. Kalloks izmanto divus argumentus atmiņas pieprasīšanai. Kallokā mums jāpiešķir datu veida lielums. Divas kaligātās nozīmes zīmes atdala ar komatiem.


Saturs: atšķirība starp Malloc un Calloc

  • Salīdzināšanas tabula
  • Malloc
  • Kalloks
  • Galvenās atšķirības
  • Secinājums
  • Paskaidrojošs video

Salīdzināšanas tabula

PamatsMallocKalloks
Nozīmemalloc piešķir tikai vienu pieprasītās atmiņas bloku

calloc, lai piešķirtu vairākus pieprasītās atmiņas blokus.

 

Sintakse

Malloka sintakse ir

void * malloc (izmērs_t lielums);

Kalloka sintakse ir

void * calloc (lielums_num, izmērs_t lielums);

ĀtrumsMalloc ir ātrāks nekā callocCalloc ir lēnāks nekā malloc
Inicializēšana malloc () neizdzēš un inicializē piešķirto atmiņu.Piešķirtā atmiņa tiek inicializēta līdz nullei, izmantojot calloc ().

Malloc

Malloc ir funkcija, ko izmanto, lai piešķirtu atmiņas bloku baitos. Bloka lielumu nosaka lietotājs, un pirms koda rakstīšanas ir ļoti svarīgi noteikt atmiņas bloka lielumu. Atmiņas piešķiršanu piešķir RAM. Tātad, kad programma, tā pieprasa RAM atmiņas piešķiršanai. Kad jūs iesniedzat pieprasījumu un tas tiek pieņemts, tiek uzskatīts, ka malloc funkcija ir veiksmīga, un tiek piešķirta atmiņa. Ja funkcija malloc nespēj piešķirt atmiņu, tiek atgriezts NULL.


Kalloks

Malloc funkcijas darbība ir ļoti līdzīga kalloc funkcijai, jo abas šīs funkcijas piešķir atmiņas sadalījumu. Kalloks izmanto divus argumentus atmiņas pieprasīšanai. Kallokā mums jāpiešķir datu veida lielums. Divas kaligātās nozīmes zīmes atdala ar komatiem.

Galvenās atšķirības

  1. Malloc piešķir tikai vienu pieprasītās atmiņas bloku, savukārt calloc piešķir vairākus pieprasītās atmiņas blokus.
  2. Malloc sintakse ir: void * malloc (izmērs_t lielums); tā kā kalloka sintakse nav spēkā * kalloka (lielums_num, lielums_t lielums);
  3. Malloc ir ātrāks nekā calloc, savukārt Calloc ir lēnāks nekā malloc.
  4. malloc () neizdzēš un inicializē piešķirto atmiņu, turpretī piešķirtā atmiņa tiek inicializēta līdz nullei, izmantojot calloc ().

Secinājums

Iepriekš šajā rakstā mēs redzam skaidru atšķirību starp malloc un calloc un ar ieviešanu.

Paskaidrojošs video