char x [256] par rapport à char * = malloc (256 * sizeof (char));

Quelqu'un ici l'a récemment souligné à moi dans un morceau de code de la mienne, je suis en utilisant

char* name = malloc(256*sizeof(char));
//more code
free(name);

J'étais sous l'impression que cette façon de mettre en place un tableau est identique à l'aide de

char name[256];

et que les deux modes nécessiterait l'utilisation de free(). Je suis mal et si oui, quelqu'un pourrait-il expliquer une baisse du niveau des termes quelle est la différence?

source d'informationauteur faceless1_14