Originariamente inviato da ale_d
La prendo per buona. Mi date pero' una piccola spiegazione? Se ne capisco le motivazioni imparo qualcosa.
Perché l'allocazione nello heap è più lenta, perché poi ti devi ricordare della free, perché usando gli array statici le dimensioni sono note a compile-time.
Ora, richiamando le due questioni viste ora (possibilita' di fallimento di una malloc ed uso di una "allocazione diretta" (passatemi il termine) al posto di una dinamica (ove non strettamente necessario il contrario), mi viene da chiedermi: e' possibile che fallisca anche un'allocazione del tipo:

codice:
char buffer[MAX_LENGTH];
Può fallire se viene esaurito lo spazio nello stack, nel qual caso il programma termina con un errore. Tuttavia è piuttosto improbabile che questo accada; in ogni caso l'heap andrebbe sempre usato per buffer molto grandi, dal momento che lo stack è molto più limitato in capacità.