Optimisation de la mémoire
bonsoir à tous,
J'ai une petite question qui me tracasse ...
Quelle méthode vous parait la plus optimisée pour la gestion de la mémoire
Code:
1 2 3 4 5
|
char chaine[50];
strncpy(chaine, "un simple exemple", 50);
/* on laisse la mémoire être vidée à la terminaison du programme */ |
ou bien
Code:
1 2 3 4 5
|
char *chaine;
chaine = strdup("un simple exemple");
free(chaine); |
Ma question vous parait peut être idiote mais dans le cas du 1er exemple on alloue un espace mémoire de 50 caractères, ceci même si le mot qu'on y copie n'en fait pas autant, puis dans l'exemple 2, seul l'espace mémoire dont j'ai besoin va être alloué grâce a strdup.
Donc pour vous, quelle méthode est la plus propre, la plus optimisée en terme de gestion de la mémoire.
Merci à vous pour vos futurs explications