11.5. Copie d'un tableau : for ou memmove

Le nom d'un tableau représente son adresse (celle du premier élément). Il n'est donc pas possible de réaliser des affectations ou des copies de tableaux par l'écriture : tab2 = tab1; écriture interdite, car sans signification ! C'est pourquoi on réalise souvent l'affectation ou la copie élément par élément : for (i=0 ; i<N ; i++) tab_dest[i] = tab_srce[i] ;Une solution plus rapide et élégante utilise la fonction de recopie mémoire memmove : memmove ( tab_dest, tab_srce, sizeof(tab_srce) ) ; Le mode d'emploi de memmove, qui peut être utilisée pour copier n'importe quel bloc d'octets (et pas seulement un tableau), est le suivant : memmove ( adresse_destination, adresse_source, nombre_d'octet_a_copier ) ; L'utilisation de l'opérateur sizeof pour calculer le nombre d'octets à copier est en général indispensable :
sizeof(tab) fournit la taille en octets d'un tableau
|