[C] tableau de pointeurs...

tableau de pointeurs... [C] - C - Programmation

Marsh Posté le 29-04-2004 à 10:28:05    

Salut,
Je suis en train de craquer sur un truc a la con... donc voila sos HFR ;)  
 
LE PROBLEME :
Je souhaite definir une fonction qui recupere une liste de tableaux 8 par 8 (des matrices koi).
1/ Deja je definis mes matrices 8x8 comme un type :

Citation :

typedef int tab88[8][8];


Ensuite je cree quelques matrices en variable globale on les appellera m1, m2...
 
2/ Ensuite je cree une structure dans laquelle je stockerai le nombre d'elements dans nombre_motifs, et les @ des matrices dans un tableau de 10 pointeurs pListe :

Citation :

typedef struct {
 int nombre_motifs;
 tab88 * pListe[10];
} liste_motifs;


Jusqu'ici tout va bien je pense...
 
3/ La ca commence a merder... Dans une fonction, je souhaite ranger les @ des differentes matrices dont j'ai besoin dans mon tableau pListe precedent. Pour ca je voulais faire au debut :  

Citation :

liste.pListe[i]=m1;


Mais le pb c que le compilo ne prend que ca :

Citation :

liste.pListe[i]=&m1;


 
4/ Ensuite qd je veux lire la coordonnee (x,y) dans m1, je fais :

Citation :

liste.pListe[i][x][y];


mais la il me renvoit ce qui semble etre en fait l'@ de m1... et en debuggant je m'apercois que pListe[i] est en fait un tableau de 8 elements (au lieu d'une simple @ :??:) tous egaux a l'@ de m1 :sweat:  
 
Au secours qqn aurait une idee de solution a ce pb ??


Message édité par impress le 29-04-2004 à 10:29:24

---------------
ma blacklist des sites VPC : mistergooddeal, hersys  | ma whitelist : openjl, materiel.net, pclook, 1000ordi
Reply

Marsh Posté le 29-04-2004 à 10:28:05   

Reply

Marsh Posté le 29-04-2004 à 13:54:13    

et bien comme liste.pListe[i] est un pointeur sur un tableau de 8 par 8, tu dois le déréférencer avant de l'indexer :

Code :
  1. k = *(liste.pListe[i])[x][y];


Message édité par djdie le 29-04-2004 à 13:54:59
Reply

Marsh Posté le 29-04-2004 à 14:48:34    

ca me donne mal a la tete les pointeurs :sweat:...
finalement ca m'a gonfle ce matin, et je suis parti sur un tableau de matrices, plutot qu'un tableau de pointeurs sur les matrices... je garde la soluce sous le coude au cas ou je voudrais programmer plus proprement :whistle:  
merci  :hello:


---------------
ma blacklist des sites VPC : mistergooddeal, hersys  | ma whitelist : openjl, materiel.net, pclook, 1000ordi
Reply

Sujets relatifs:

Leave a Replay

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