Bonjour,
J'ai un problème avec ma réallocation de mémoire dans mon programme. Je veux réalloué de la mémoire si nécessaire pour un tableau deux dimensions. Mon tableau est alloué initialement avec une valeur de 5.
Lorsque j'exécute mon programme, j'ai l'impression que ma deuxième dimension n'est pas alloué:
Pourriez vous me dire ce qui ne va pas?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 TabTimePalCh = realloc(TabTimePalCh,NbCharge); if ( TabTimePalCh == NULL ) { MessagePopup("Erreur!!!", "Erreur lors de l'allocation de mémoire!"); // on affiche un message QuitUserInterface (0); // on sort du programme en renvoyant un code d'erreur MessagePopup("FATAL ERROR", "Erreur 001: impossible d'allouer la mémoire."); } for(i=5;i<NbPal;i++) { TabTimePalCh[i] = realloc(TabTimePalCh[i],NbPal); if ( TabTimePalCh[i] == NULL ) { MessagePopup("Erreur!!!", "Erreur lors de l'allocation de mémoire!"); // on affiche un message for(j=0;j<i;j++) { free(TabTimePalCh[j]); } free(TabTimePalCh); QuitUserInterface (0); // on sort du programme en renvoyant un code d'erreur MessagePopup("FATAL ERROR", "Erreur 001: impossible d'allouer la mémoire.");// on sort du programme en renvoyant un code d'erreur } }
Je vous remercie.
Partager