for (int i = 1; i <= N; i++) { tabTarger[i – 1] = tabSource[i – 1]; }PEBKAC.
-1
quelque part.-1
sur le nombre d'éléments du tableau pour ne pas avoir à décrémenter l'indice à chaque fois qu'il est utilisé dans la boucle.for i = 0; i < N; i++
serait un peu plus propre mais bon...
tabTarget
?
tabTarger = tabSource
?
i++
au lieu de ++i
donc PEBKAC.++i
est dans le pire des cas aussi rapide que i++
, et dans le meilleur des cas, plus rapide. Mais encore une fois, ce n'est pas une optimisation qui va changer la face du monde informatique, on risquerais de gagner quoi, 1 à 2 cycles d'horloge processeur...)
int a = 5, b = 5; int c = ++a; //c vaut 6 int d = b++; //d vaut 5
a
et b
valent tous deux 6 après leur utilisation respective.
++a
ne change pas a ?int a = 5; int c = ++a; //c vaut 6 int d = a++ // d vaut 6
memcpy
copie la plage mémoire sans se soucier du type de contenu. Tu lui passe donc un pointeur source, et il le copie vers un pointeur cible. Si tu passe les bons pointeurs et la bonne taille (un simple nbrÉlements * sizeof(type)
devrait suffire), je ne vois pas pourquoi il y aurait des problèmes.union
entre un entier sur 32 bits et un tableau de 4 octets, pour ensuite utiliser soit la totalité de la valeur, soit un octet particulier.