[C] Differenza tra calloc e malloc

jarrod
Ciao, nonostante abbia cercato in rete e tra le discussioni precedenti, non riesco a capire la differenza tra calloc e malloc. Ho letto che la calloc alloca memoria e la inizializza a zero. Ma in quali casi bisogna utilizzare la calloc, al posto della malloc?
Mi fornite degli esempi in cui si nota la differenza. Perchè a me verrebbe di utilizzare la malloc in tutti i casi, quando in realtà non va bene sempre..

Risposte
vict85
La maggiore differenza è che uno inizializza a zero e l'altro no. La seconda differenza è ovviamente che [inline]calloc[/inline] è in qualche modo pensato per allocare array, ma nessuno ti vieta di allocare una array con [inline]malloc[/inline]. Non esiste alcuna regola e dubito che la frase "in realtà non va bene sempre" sia vera. [inline]malloc[/inline] è molto più usato di [inline]calloc[/inline] ed è raro vedere [inline]calloc[/inline] in qualche codice non scolastico. Hai una visione della programmazione un po' troppo dogmatica, quella è più che altro una questione di gusti.

jarrod
ora ho capito, grazie mille!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.