Recopie de tableaux

Il n’est pas possible d’utiliser les opérateurs =, ==, etc., avec les tableaux. En fait, aucun des opérateurs que nous avons vus sur les nombres n’est utilisable avec un tableau. Pour recopier un tableau dans un autre, on peut utiliser une boucle comme celle-ci :

for (int i = 0; i < 20; i++)
    tab2[i]  = tab[i];

ou encore la routine memmove, qui recopie une partie de la mémoire dans une autre (voir plus loin) :

memmove( tab2, tab, 20*sizeof(int) );

On notera l’utilisation de sizeof pour obtenir la taille des entiers, afin d’avoir un code portable. On aurait pu aussi écrire sizeof(tab) au lieu de 20*sizeof(int), puisque ici on recopie tout le tableau.

L’utilisation de memmove n’est guère pratique, mais bien plus rapide que la boucle précédente.

Précédent Précédent Sommaire Sommaire Suivant Suivant