De Taille Variable Tableaux vs calloc en C

Sur la discussion de la mémoire dynamique ici: "L'introduction à la C les Pointeurs et gestion Dynamique de la Mémoire"

L'auteur déclare:

Un bloc de mémoire, comme cela peut effectivement être utilisé comme un moyen plus souple de tableau. Cette approche est en fait beaucoup plus commun dans le monde réel C de programmes. Il est également de plus en plus prévisible et souple qu'une "variable de tableau de taille"

Le type de bloc de mémoire il parle en tant que telle:

const int size = 5;
int * array = calloc(size, sizeof(int));

et ensuite à l'aide d'un autre pointeur pour parcourir le tableau:

int * index = array;
for (i = 0; i < size; i++) {
    *index = 1; //or whatever value
    index++;
}

Ma question est de savoir comment cette méthode est mieux qu'un standard de taille variable array comme ceci?:

int array[variable];

ou dynamique:

char name[] = "Nick";

L'auteur n'a pas vraiment permis de beaucoup mieux comprendre pourquoi je préfère l'ancienne méthode de ce dernier. Ou plus précisément: Comment est-il plus "prévisible et flexible"?

OriginalL'auteur nmiller | 2009-01-15