Differenza fondamentale: "Calloc" e "Malloc" si riferiscono alle prestazioni dell'allocazione dinamica della memoria nel linguaggio di programmazione C. Un 'calloc' inizializza la memoria allocata con zero, mentre un 'malloc' no.
Sia "calloc" che "malloc" sono funzioni di libreria standard.

La sua sintassi è la seguente:
void * calloc (number_of_blocks, size_of_each_block_in_bytes);
Qui, 'void' è una funzione C generale, che non restituisce alcun valore. Il numero di elementi nel primo argomento specifica la dimensione in byte di un elemento nel secondo argomento. L'indirizzo viene restituito dopo il partizionamento riuscito, altrimenti viene restituito un NULL su qualsiasi errore della funzione.

La sua sintassi è la seguente:
void * malloc (size_in_bytes);
In particolare, restituisce l'indirizzo in maniera generica (void *). Se "malloc" non riesce ad allocare la memoria, restituisce -1, altrimenti restituisce l'indirizzo da cui è allocata la memoria. La memoria allocata può essere sotto forma di numero intero, digitando l'indirizzo void come int *; la memoria allocata può anche essere nella forma di un float, semplicemente digitando lo stesso indirizzo di vuoto come float *.
Confronto tra Calloc e Malloc:
calloc | malloc | |
Funzioni base | La funzione di libreria alloca una regione della memoria, che è abbastanza grande da contenere gli "n elementi" di byte di "dimensione" ciascuno. | La funzione di libreria alloca solo i byte "size" di memoria. |
Inizializzazione | Inizializza il contenuto della memoria a zero. | Non inizializza il contenuto della memoria a zero. |
Numero di argomenti | Qui ci sono due argomenti. | Qui c'è solo un argomento. |
Valori allocati | La regione allocata viene inizializzata a zero. | Il contenuto della memoria allocata non viene modificato, ovvero la memoria contiene valori imprevedibili o illeggibili, che creano un rischio. |
Restituisce valore | pointer void (void *). Dopo un'allocazione riuscita, viene restituito un puntatore al blocco di memoria. | pointer void (void *). Dopo un'allocazione riuscita, viene restituito un puntatore al blocco di memoria. |