Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1963 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C/C++]Petit problème de malloc

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C/C++]Petit problème de malloc

n°336298
thadawg
Putting knowledge into heads
Posté le 18-03-2003 à 13:27:36  profilanswer
 

Bonjour à tous,  
 
En essayant de faire du malloc, je suis tombé sur quelque chose de "bizarre". Peut-être que mon code est en cause, le voici :
 
- J'ai un main qui crée autant de tableau que donné dans le ligne de commande, c'est-à-dire n.  
 

Code :
  1. main(int argc, char **argv)
  2. {
  3.   int n , i;
  4.   int **board;
  5.   n = atoi(argv[1]);
  6.   nb_tab=0;
  7.   board=(int**)malloc(n * sizeof(int*)); // création de la table
  8.   for(i=0;i<n;i++)
  9.   {
  10.   board = (int*)malloc(n * sizeof(int));
  11.   init(i,n,board);
  12.   nb_tab++;
  13.   }
  14. }


 
- Puis, une fonction 'cree' qui ajoute des lignes aux tableaux suivant l'analyse de ceux-ci.  
 

Code :
  1. cree(int nt, int **t, int n)
  2. {
  3. t[nt] = (int *)malloc(n * sizeof(int));
  4. nb_tab++;
  5. printf("board [%d] creee\n", nt);
  6. }


 
Pour le peu qu'on utilise la fonction 'cree' comme suit :  

Code :
  1. for(i=4;i<30;i++)
  2.   {
  3.   cree(i,board,n);
  4.   }


 
Systématiquement, la création de tableaux s'arrête sur l'indice 22. Pas de segmentation fault, juste le curseur qui continue de clignoter sans rien que se passe.  
 
Ma question donc : peut-on utliser comme cela indépendamment des [i]malloc dans une fonction annexe ? Si oui, où est l'erreur ?
 
A noter que, compilé sous Linux avec cc, l'algo ne pose pas de problème. Le problème n'apparaît que sous Win (devcpp aussi bien avec Mingw/GCC 2.95.3 que 3.2).  
 
Merci d'avance


Message édité par thadawg le 18-03-2003 à 13:29:41
mood
Publicité
Posté le 18-03-2003 à 13:27:36  profilanswer
 

n°336312
chrisbk
-
Posté le 18-03-2003 à 13:39:25  profilanswer
 

truc idiot, regarde ta conso de ram. Perso un de mes prog bloquait aussi comme un con, et je me suis demande pkoi jusqu'a ce que je remarque que j'allouais gallairdement 1.8Go de ram (variable pourrie). l'alloc prenait un peu de tps :D
 
 

n°336320
nonokao
moooort o foooot !!!
Posté le 18-03-2003 à 13:43:52  profilanswer
 

ton code est sans erreur
sa simplicité ne laisse aucun doute, c'est ton compilateur qui plantouille
je l'ai testé avec visual C++
et no blem
 
 :jap:

n°336322
thadawg
Putting knowledge into heads
Posté le 18-03-2003 à 13:45:09  profilanswer
 

nonokao a écrit :

ton code est sans erreur
sa simplicité ne laisse aucun doute, c'est ton compilateur qui plantouille
je l'ai testé avec visual C++
et no blem
 
 :jap:  


 
Merci nonokao  :hello:

n°336336
nonokao
moooort o foooot !!!
Posté le 18-03-2003 à 13:56:52  profilanswer
 

chrisbk a écrit :

truc idiot, regarde ta conso de ram. Perso un de mes prog bloquait aussi comme un con, et je me suis demande pkoi jusqu'a ce que je remarque que j'allouais gallairdement 1.8Go de ram (variable pourrie). l'alloc prenait un peu de tps :D


 
lol
fo voir, j'ai testé avec 5000 en paramètre
 
ThADawG, ça peut être ta fonction init(i,n,board) qui plante, et comme tu n'as pas mis le code, execute ton programme en pas à pas et regarde sur quelle ligne ça plantouille.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C/C++]Petit problème de malloc

 

Sujets relatifs
Probleme avec mon forum phpBBProbleme pour nommer une variable
Probleme de client -serverproblème bizarre (avec getline length() et cout)
probleme lien pop-up et remonté d'ascenseur[php] Générer petit image a partir d'une grande
[PHP] S.O.S. probleme d'ecriture sur une page[XML-DOM java] probleme surement tout bète!
[ASP] Problème de date dans requête SQLProblème PHP sur mon site
Plus de sujets relatifs à : [C/C++]Petit problème de malloc


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR