Ben c'est pas trop mal comme ça, c'est bien malloc() (puis c'est important d'apprendre à s'en servir), calloc() ne me semble pas très utile vu que tu définies tout de suite les valeurs (donc pas indispensable de les initialiser à 0)
Une petite remarque tu utilises la taille la taille d'un "int" pour allouer des char. Fais plutôt
copy = (char*)malloc(6 * sizeof(char));
(le (char*) ne sert à rien mais il augmente la lisibilité de ton code)
enfin, on peut pas faire beaucoup plus simple si ce n'est en laissant "copy" sous forme de tableau (char copy[6];) comme dans le code que tu simules, du coup plus besoin de malloc (et de free) mais si tu ne l'as pas fait j'imagine qu'il y a une raison...
edit : dernière petite remarque autant éviter les valeurs en dur par exemple dans ta boucle plutôt que d'aller jusqu'à 6, mieux vaux mettre strlen(str), ça fait plus sérieux
et ça évite de devoir changer tout ton code si par exemple tu modifies la tailles des tableaux
Partager