Ciao a tutti!
Qualcuno mi spiega un po' dettagliatamente come funziona l'area di memoria heap?
So che è dinamica, essendo associata alla funzioni malloc, calloc, realloc..
Ma vorrei avere qualche chiariemento in più: ad esempio, se una funzione mi deve ritornare una stringa creata all'interno della funzione, questa non può essere stata allocata normalmente, con

codice:
char stringa [10];
ma occorre averla allocata ad esempio con:

codice:
char* stringa;
stringa = (char*) malloc (sizeof (char) * 10);
A livello pratico/teorico come si spiega questa cosa?