Huvudskillnad : 'Calloc' och 'Malloc' avser prestanda för dynamisk minnesallokering på C-programmeringsspråket. En "calloc" initierar det tilldelade minnet med noll, medan en "malloc" inte gör det.
Både "calloc" och "malloc" är standardbiblioteksfunktioner.
Syntaxen är som följer:
void * calloc (number_of_blocks, size_of_each_block_in_bytes);
Här är "void" en generell C-funktion, som inte returnerar något värde. Antalet element i det första argumentet anger storleken i byte från ett element till det andra argumentet. Adressen returneras efter den framgångsrika partitioneringen, annars returneras en NULL vid eventuella funktionsfel.
Syntaxen är som följer:
tomrum * malloc (size_in_bytes);
Specifikt returnerar den adressen på ett generiskt sätt (void *). Om 'malloc' misslyckas med att allokera minnet returnerar det -1, annars returnerar den adressen från vilken minnet tilldelas. Det tilldelade minnet kan vara i form av ett heltal, efter typ som gjuter tomrumsadressen som int *; Det tilldelade minnet kan också vara i form av en flottör, bara genom typgjutning av samma tomgångsadress som float *.
Jämförelse mellan Calloc och Malloc:
calloc | malloc | |
Grundfunktioner | Biblioteksfunktionen allokerar en region i minnet, som är tillräckligt stor för att hålla "n-elementen" av "storlek" byte vardera. | Biblioteksfunktionen allokerar bara "storlek" byte av minne. |
initiering | Det initierar innehållet i minne till nollor. | Det initierar inte innehållet i minne till nollor. |
Antal argument | Här finns två argument. | Här är det bara ett argument. |
Tilldelade värden | Den tilldelade regionen initialiseras till noll. | Innehållet av allokerat minne ändras inte, det vill säga minnet innehåller oförutsägbara eller sopor, vilket skapar en risk. |
Returnerar värde | tomrumsindikator (tomrum *). Efter en lyckad fördelning returneras en pekare till minnesblocket. | tomrumsindikator (tomrum *). Efter en lyckad fördelning returneras en pekare till minnesblocket. |