Tableau à 2 dimensions avec utilisation de MALLOC
	
	
		Tout d'abord bonjour à tous,
J'ai, comme vous vous en doutez, un petit problème...
Voici le bout de code qui me chiffone, j'expliquerais après ce que je ne trouve pas normal :
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 
 | #include <stdio.h>
#include <stdlib.h>
 
typedef struct Case Case;
struct Case
{
    int valeur;
    int affichage;
};
 
int main()
{
    int i;
    int j;
    int nbreCaseLargeur = 10;
    int nbreCaseHauteur = 5;
    Case ** tab = NULL;
 
    tab = malloc (nbreCaseLargeur * sizeof(Case *));
 
    if (tab != NULL)
    {
        for (j=0; j<nbreCaseHauteur; j++)
        {
            tab[j] = malloc (nbreCaseHauteur * sizeof(Case));
 
            if (tab[j] == NULL)
            {
                printf("Erreur de reservation");
            }
        }
    }
 
    for (i=0; i<nbreCaseLargeur; i++)
    {
        for (j=0; j<nbreCaseHauteur; j++)
        {
            tab[i][j].valeur = 0;
            tab[i][j].affichage = 0;
                printf("%d - %d\n",i,j);
        }
    }
 
    for (i=0; i<nbreCaseLargeur; i++)
    {
        free(tab[i]);
    }
    free(tab);
} | 
 D'après ce que je pense, je réserve un tableau de nbreCaseLargeur parties contenant chacune un tableau de nbreCaseHauteur parties qui seront des Case (structure créée).
Le problème se passe ici :
        tab[i][j].valeur = 0;
        tab[i][j].affichage = 0;
Je pensais donc qu'en appelant par exemple,
        tab[8][3].valeur = 0;
cela marcherait... Mais ce n'est pas le cas... Par contre,
        tab[3][8].valeur = 0;
marche !
Pourquoi la première dimension (qui pour moi était les nbreCaseLargeur parties)
se trouve dans le second [] ?
Je pourrais tout simplement inverser les i et j, mais je n'aurais pas compris pourquoi il y aurait un problème et cela pourrait se reproduire...
Donc si quelqu'un avait l'âme charitable à m'expliquer ^^
Merci d'avance