[C] affectation de tableau à 2 dim

affectation de tableau à 2 dim [C] - C - Programmation

Marsh Posté le 17-08-2004 à 10:53:25    

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

Reply

Marsh Posté le 17-08-2004 à 10:53:25   

Reply

Marsh 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 ?

Reply

Marsh Posté le 17-08-2004 à 11:47:47    

un tableau n'est pas une l-value

Reply

Marsh 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 :
  1. int t1[10];
  2. int t2[10][10] ;
  3. int  i ,j;
  4. for(i=0;i<10;i++)
  5. t1[i]= i*2;
  6. for(i=0 ; i<10;i++)
  7. for(j=0;j<10;j++)
  8.     t2[i][j] =t1[i];


 
C'est ça que tu cherches a faire ??

Reply

Marsh Posté le 17-08-2004 à 19:22:36    

ou avec un memcpy

Reply

Marsh 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 ?

Reply

Marsh 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 ?

Reply

Marsh 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.

Reply

Marsh Posté le 17-08-2004 à 19:54:34    

ok

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed