Voila je n'arrive pas à affecter les données contenues dans un tableau à 1 dim dans une des lignes de mon tableau à deux dimensions.
Comment faire?
Merci
Publicité
Posté le 17-08-2004 à 10:53:25
cricri_
Posté le 17-08-2004 à 11:33:20
Ben je ne vois pas où est le pb, tu peux faire voir ton bout de code ?
Taz
bisounours-codeur
Posté le 17-08-2004 à 11:47:47
un tableau n'est pas une l-value
hegros
Posté le 17-08-2004 à 12:38:02
citation=824816,0,1][nom]jambon a écrit[/nom]Voila je n'arrive pas à affecter les données contenues dans un tableau à 1 dim dans une des lignes de mon tableau à deux dimensions.
Comment faire?
Merci[/citation]
Code :
int t1[10];
int t2[10][10] ;
int i ,j;
for(i=0;i<10;i++)
t1[i]= i*2;
for(i=0 ; i<10;i++)
for(j=0;j<10;j++)
t2[i][j] =t1[i];
C'est ça que tu cherches a faire ??
cris56
Posté le 17-08-2004 à 19:22:36
ou avec un memcpy
Taz
bisounours-codeur
Posté le 17-08-2004 à 19:28:14
correct. cela si tu utilises des __tableaux__ (taille statique) tu peux planquer ça dans des structures. même effet que memcpy, mais une simple affectation suffit. compris ?
cris56
Posté le 17-08-2004 à 19:44:05
ok, sinon je viens de mesurer, en terme de performance, sur un petit buffer (qq octets) memcpy est plus lent que l'affectation, mais a partir de qq dizaine d'octets memcpy prend le dessus, mais legerement ( 1-2 % qq soit la taille ) logique ?
Taz
bisounours-codeur
Posté le 17-08-2004 à 19:52:18
non. ça dépend trop de ton compilateur. si les données sont grandes, memcpy sera sans doute optimisé. si les données sont petites et la taille connue à la compilation, memcpy sera inliné et strictement équivalent à l'affectation ... tout dépend. pas de parano. utilise = quand ça fait ce que tu veux.