[C] tableau dynamique 2 dimension

tableau dynamique 2 dimension [C] - C - Programmation

Marsh Posté le 20-10-2010 à 22:35:31    

bonjour, je suis présentement mon premier cours en informatique sur le langage c, je doit faire un tableau dynamique a 2 dimension mais je n'y arrive pas. lorsque j'insère la taille du tableau l'erreur suivante apparait :Unhandled exception at 0x01111ba7 in tp2.exe: 0xC0000005: Access violation writing location 0x00000000.
 
voici la partie de mon code qui me pose problème  
 
typedef char** t_tic_tac_toe;
 
....
 
void allouer_espace_mémoire(t_tic_tac_toe* tab_tic_tac_toe,int taille )
{
   
  int i;
  char** tab=0;
     
     tab_tic_tac_toe = (t_tic_tac_toe*)malloc(taille*sizeof(char*));
     
  for(i=0; i< taille;i++)
               tab[i]=(char*)malloc(taille*sizeof(char)); //ligne qui cause l'erreur
 
  return;
}
 
merci

Reply

Marsh Posté le 20-10-2010 à 22:35:31   

Reply

Marsh Posté le 21-10-2010 à 08:25:18    

Je propose d'interdire de répondre à cette question, voire qu'on ferme systématiquement les topics portant sur les tableaux à 2D. Les neuneus qui arrivent et posent pour la 50e fois la même question sans faire la moindre recherche, ça commence à bien faire.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 11-11-2010 à 20:49:44    

Reply

Marsh Posté le 11-11-2010 à 21:32:27    

Et c'est aps comeme si j'avais donenr mille fois la solution:
 
http://forum.hardware.fr/hfr/Progr [...] 9389_1.htm
http://forum.hardware.fr/hfr/Progr [...] 0227_1.htm
 
En gros, un tableau 2D ca s'alloue via un bloc contigue + 1 tableau de pointeur sur ligne. En terme de code résultant, y a pas plus de *+ qu'avec l'autre vu qu'elles sont précalculées.
 
cf aussi : http://codepad.org/nDy8z2iG

Reply

Marsh Posté le 17-12-2010 à 00:39:11    

C'est sur, on se rends pas compte le prix que ça coute une nouvelle page d'un forum, et surtout l'obligation de répondre quand ça nous fait chier ...

Reply

Sujets relatifs:

Leave a Replay

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