Problème malloc() tableau 3 dimensions
Bonjour, j'ai un petit problème concernant la réservation en mémoire d'un tableau à 3 dimensions. En effet j'aimerai créer un plateau de jeux hauteur* largeur (tableau deux dimensions) possédant certaines caractéristiques sur les cases (tableau 3 dimensions)
Le tableau est bien créé quand la hauteur et la largeur sont les mêmes mais des qu'ils sont différents j'ai des bus error des que je veux visualiser tab[i][j][0] ou tab[i][j][1].
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
int ***tab=NULL;
hauteur=5;
largeur=10;
tab = malloc(hauteur*sizeof(int**));
for(i=0;i<hauteur;i++)
tab[i]=malloc(largeur*sizeof(int*));
for(i=0;i<hauteur;i++)
{
for(j=0;j<largeur;j++)
{
tab[i][j]= malloc(2*sizeof(int));
}
} |
L'erreur de gdb :
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x00002d3d in main () at graphe.c:628
628 printf(" %d ",tab[i][j][0]);
Merci d'avance