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