„Malloc“ prieš „Calloc“

Autorius: Laura McKinney
Kūrybos Data: 4 Balandis 2021
Atnaujinimo Data: 15 Gegužė 2024
Anonim
Dynamic Memory Allocation - malloc( ),calloc( ),realloc() and free()
Video.: Dynamic Memory Allocation - malloc( ),calloc( ),realloc() and free()

Turinys

Pagrindinis skirtumas tarp „malloc“ ir „calloc“ yra tas, kad „malloc“ priskiria tik vieną reikalaujamos atminties bloką, o „kalloc“ priskiria kelis reikalaujamos atminties blokus.


Atminties paskirstymas yra labai svarbi informatikos sąvoka, kompiuterių programavimo metu turite sukurti savo kodo atmintį. „Malloc“ ir „calloc“ reikia argumentų darbui. Mallokui reikia tik vieno argumento, tuo tarpu kallokui reikia dviejų argumentų. „Malloc“ ir „calloc“ naudojami C programavimui, jie naudojami atminties paskirstymui ir paskirstymui. Dinaminis atminties paskirstymas yra svarbiausia kompiuterio programavimo sąvoka. Prieš rašydami programą, turite priskirti atmintį kompiuteryje, kad atmintis būtų naudojama vykdymui.

„Malloc“ yra funkcija, naudojama priskirti atminties blokams baitais. Bloko dydį nustato pats vartotojas, o prieš rašydami kodą labai svarbu nustatyti atminties bloko dydį. Atmintį paskirsto RAM. Taigi, kai programa reikalauja RAM atminties paskirstymui. Kai pateikiate užklausą ir ji priimama, tada sakoma, kad „malloc“ funkcija yra sėkminga ir paskirta atmintis. Jei „malloc“ funkcija negali priskirti atminties, tada NULL grįžo. „Malloc“ funkcijos veikimas yra labai panašus į „calloc“ funkciją, nes abi šios funkcijos priskiria atminties paskirstymą. „Calloc“ priima du argumentus dėl atminties prašymo. Kalloke turime priskirti duomenų tipo dydį. Dvi kalibro reikšmės yra atskirtos kableliais.


Turinys: skirtumas tarp Malloc ir Calloc

  • Palyginimo diagrama
  • Mallokas
  • Kallokas
  • Pagrindiniai skirtumai
  • Išvada
  • Aiškinamasis vaizdo įrašas

Palyginimo diagrama

PagrindasMallokasKallokas
Reikšmė„malloc“ priskiria tik vieną reikalaujamos atminties bloką

calloc, kad būtų galima priskirti kelis prašomos atminties blokus.

 

Sintaksė

Malloko sintaksė yra

void * malloc (dydis_t dydis);

Kaloko sintaksė yra

void * calloc (dydis_tum, dydis_t dydis);

GreitisMalloc yra greitesnis nei callocCalloc yra lėtesnis nei malloc
Pradėjimas malloc () neišvalo ir neinicijuoja paskirstytos atminties.Paskirtoji atmintis inicializuojama iki nulio naudojant kalloc ().

Mallokas

„Malloc“ yra funkcija, naudojama priskirti atminties blokams baitais. Bloko dydį nustato pats vartotojas, o prieš rašydami kodą labai svarbu nustatyti atminties bloko dydį. Atmintį paskirsto RAM. Taigi, kai programa reikalauja RAM atminties paskirstymui. Kai pateikiate užklausą ir ji priimama, tada sakoma, kad „malloc“ funkcija yra sėkminga ir paskirta atmintis. Jei „malloc“ funkcija negali priskirti atminties, tada grąžinama NULL.


Kallokas

„Malloc“ funkcijos veikimas yra labai panašus į „calloc“ funkciją, nes abi šios funkcijos priskiria atminties paskirstymą. „Calloc“ priima du argumentus dėl atminties prašymo. Kalloke turime priskirti duomenų tipo dydį. Dvi kalibro reikšmės yra atskirtos kableliais.

Pagrindiniai skirtumai

  1. „Malloc“ priskiria tik vieną reikalaujamos atminties bloką, tuo tarpu „calloc“ priskiria kelis reikalaujamos atminties blokus.
  2. Malloko sintaksė yra: void * malloc (dydis_t dydis); kadangi kalloko sintaksė negalioja * kalloko (dydis_tum, dydis_t dydis);
  3. Malloc yra greitesnis nei calloc, tuo tarpu Calloc yra lėtesnis nei malloc.
  4. malloc () neišvalo ir neinicijuoja skirtos atminties, tuo tarpu paskirta atmintis yra inicializuota iki nulio naudojant kalloc ().

Išvada

Šiame aukščiau esančiame straipsnyje matome aiškų skirtumą tarp „malloc“ ir „calloc“ ir įdiegimo.

Aiškinamasis vaizdo įrašas