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é:

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
		}
}
Pourriez vous me dire ce qui ne va pas?
Je vous remercie.