A Calloc és a Malloc közötti különbség

A legfontosabb különbség: a "Calloc" és a "Malloc" a dinamikus memóriaelosztás teljesítményét jelenti a C programozási nyelven. A 'calloc' inicializálja a hozzárendelt memóriát nullával, míg a 'malloc' nem.

Mind a 'calloc', mind a 'malloc' szabványkönyvtárfunkciók.

A "calloc" a C programozási szabványos könyvtár funkciója. Alapvetően a dinamikus memóriát C nyelvre osztja. A tároló egy futó programban egy változót tárol. A könyvtár funkciója calloc (numer, size). Ez a függvény két argumentumot vesz igénybe, amelyek megadják a fenntartandó elemek számát és az egyes elemek méretét bájtokban. Elosztja a num * méretnek megfelelő memóriablokkot. Ezenkívül a memóriában lévő kijelölt tárterület elejére mutató mutatót is visszaad. A „calloc” funkciót a dinamikus tömbök helyének fenntartására használják.

Szintaxisa a következő:

void * calloc (number_of_blocks, size_of_each_block_in_bytes);

Itt a „void” egy általános C-függvény, amely nem ad vissza semmilyen értéket. Az első argumentumban lévő elemek száma meghatározza az egyik elem bájtméretét a második argumentumhoz. A cím a sikeres partíció után kerül visszaadásra, különben a függvény minden meghibásodása esetén visszatér a NULL.

A „malloc” a C nyelvű memóriaelosztási funkció. Manuálisan osztja fel a memóriát néhány C adatstruktúrára. Ezeket az adatstruktúrákat egy adott méretű memória egy részét osztja fel. A malloc () függvény a memóriát egy halomból osztja fel. A funkció belsejében bejelentett automatikus változók a halomra kerülnek. Csak a szükséges számú bájtot osztja fel. A „malloc” függvényben kiosztott dinamikus memória a program bárhol használható a cím megismerésével.

Szintaxisa a következő:

void * malloc (size_in_bytes);

Pontosabban, a cím egy általános módon tér vissza (void *). Ha a „malloc” nem tudja kiosztani a memóriát, akkor a -1-et adja vissza, különben visszaadja azt a címet, ahonnan a memóriát kiosztják. A hozzárendelt memória egész szám formájában lehet, az űrlapot int * néven; a kiosztott memória egy úszó formában is lehet, csak úgy, hogy ugyanolyan üres címet ad meg, mint az úszó *.

Calloc és Malloc összehasonlítása:

calloc

malloc

Alapfunkciók

A könyvtári funkció a memória egy régióját hozza létre, amely elég nagy ahhoz, hogy mindegyik „méret” bájt „n elemét” tartsa.

A könyvtári funkció csak a memória méretét adja meg.

inicializálás

A memória tartalmát nullára inicializálja.

Nem inicializálja a memória tartalmát nullára.

Az érvek száma

Itt két érv van.

Itt csak egy érv van.

Kiosztott értékek

A kijelölt terület nullára van inicializálva.

A kiosztott memória tartalma nem változik, azaz a memória kiszámíthatatlan vagy szemétértéket tartalmaz, ami kockázatot jelent.

Értéket ad vissza

érvénytelen mutató (void *). Sikeres kiosztás után a memória blokkjára mutató mutatót küldünk vissza.

érvénytelen mutató (void *). Sikeres kiosztás után a memória blokkjára mutató mutatót küldünk vissza.

Ajánlott

Kapcsolódó Cikkek

  • a különbség köztük: A RAW és a JPEG közötti különbség

    A RAW és a JPEG közötti különbség

    Kulcskülönbség: A RAW a fényképezőgép nyers képe. Az összes adatot és információt a minimális feldolgozással menti el. A JPEG a Joint Photographic Expert Group. Ez a leggyakrabban használt fényképformátum. A JPEG kifejezetten alkalmas színes fényképek vagy sok keverék vagy színátmenettel rendelkező képek számára. A RAW a fényképezőgép álta
  • a különbség köztük: A Triumph és a Victory közötti különbség

    A Triumph és a Victory közötti különbség

    Főbb különbség: A Triumph és a Victory kifejezéseknek hasonló jelentése van, vagyis a győzelem. A „győzelem” kifejezés egy olyan közvetlen versenyben nyert győzelmet jelent, mint egy csata vagy egy fajta verseny. Míg a győzelem kontextusában a vereség fogalma leállítható, vagy nem létezik. Az angol nyelvhez hason
  • a különbség köztük: A bevétel és a számla közötti különbség

    A bevétel és a számla közötti különbség

    Kulcsfontosságú különbség: A számla alapvetően egy olyan számla, amely felsorolja az árukat vagy szolgáltatásokat, valamint az áruk vagy szolgáltatások költségét. Az átvételi elismervény az, hogy az ügyfél teljes egészében vagy részben kifizette a számlát. Valahányszor vásárol valamit, esélye van arra, hogy megkapta a nyugtát vagy számlát. Mi azonban pontosan ezek és mi a
  • a különbség köztük: A vas- és színesfémek közötti különbség

    A vas- és színesfémek közötti különbség

    Főbb különbség: A vas- és színesfémek két különböző típusú fém. Ez a kategorizálás a vas tartalmán alapul. Abban az esetben, ha a fém vasat tartalmaz, akkor ez vas-fémként ismert, különben színesfém. A ferrous szó a ferrum latin szóból származik, ami azt jelenti, hogy „tartalmaz vasat”. Ezért olyan fémekre vonatkozik,
  • a különbség köztük: A Samsung Galaxy S4 és a Blackberry Z10 közötti különbség

    A Samsung Galaxy S4 és a Blackberry Z10 közötti különbség

    A legfontosabb különbség: a Samsung Galaxy S4 a Samsung Galaxy S3 nagyon népszerű utódja. A cég új tulajdonságokkal büszkélkedhet egy kissé kisebb és sima kivitelben. A telefon képernyője a lenyűgöző, közel 5 hüvelykes méretre nőtt, csak kis mértékben csökkent a telefon mérete. A képernyő egy teljes HD
  • a különbség köztük: Az állomás és az irodaszerek közötti különbség

    Az állomás és az irodaszerek közötti különbség

    Főbb különbség: A „Helyhez kötött” szó az állásra, vagy főleg csak nem mozog. Ezzel szemben az irodaszerek íróanyagok, borítékok, irodai anyagok stb. A „Helyhez kötött és irodaszerek” kifejezéseket gyakran összekeverik, elsősorban azért, mert a kifejezések hasonlóan néznek ki és hangolódnak; csak egy betűvel vannak. Mindazonáltal a kettő valami telj
  • a különbség köztük: A Dell Latitude 10 Windows Tablet és a Samsung Galaxy Megjegyzés 10.1 közötti különbség

    A Dell Latitude 10 Windows Tablet és a Samsung Galaxy Megjegyzés 10.1 közötti különbség

    Főbb különbség: A Latitude 10 tabletta elég sima és 658 gramm könnyű súlyú. Az eszközök 10, 1 hüvelykes IPS (1366 X 768) széles látószögű LCD kapacitív érintőképernyővel rendelkeznek, és 1, 8 GHz-es Intel Atom Z2760 processzorral működnek. A Galaxy Note 10.1 a Samsung által tervezett és gyártott táblaszámítógép. 10, 1 hüvelykes képernyővel rend
  • a különbség köztük: A C és C cél közötti különbség

    A C és C cél közötti különbség

    A legfontosabb különbség: C egy számítógépes programozási nyelv. A C-t eredetileg Dennis Ritchie fejlesztette ki az AT&T Bell Labs-ben 1969 és 1973 között. A Objective-C egy általános célú, magas szintű, objektum-orientált programozási nyelv. A Ct programozási nyelvhez hozzáadja a Smalltalk-stílusú üzeneteket. Mivel a C szupersetáj
  • a különbség köztük: A Nokia Lumia 620 és a Micromax A116 Canvas HD közötti különbség

    A Nokia Lumia 620 és a Micromax A116 Canvas HD közötti különbség

    Legfontosabb különbség: Az egyik legújabb okostelefon a márka alatt a Nokia Lumia 620. A Nokia Lumia 620 célja a belépő szintű vásárlók, akik szeretnének kipróbálni egy Windows Phone 8-at, de nem engedhetik meg maguknak, hogy túl sokat költenek rá. A Micromax és a Karbonn két ilyen vállalat az indiai piacon. A Micromax A116 Can

Szerkesztő Választása

A Spice Stellar Pinnacle Pro és a Samsung Galaxy Grand közötti különbség

Főbb különbség: A Spice Stellar Pinnacle Pro Mi-535 egy középkategóriás, négyzetméteres, 1, 2 GHz-es sebességű telefon. Az Android 4.2 Jelly Bean rendszert futtatja, és 1 GB RAM-ot használ. A telefon egy 8 MP-es kamerával rendelkezik, automata fókusz és LED vaku. A telefon 5 MP-es elülső nézetű, nagylátószögű másodlagos kamerával is rendelkezik, automatikus élességállítással is. A Samsung Galaxy Grand egy köz