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 :
L'erreur de gdb :
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 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)); } }
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
Partager