Représentation mémoire tableau 2 dimensions
Bonjour à tous, :)
suite à quelques observations je suis quelque peu dérouté...
Voici le test effectué:
Code:
1 2 3 4 5 6
| char tab[8][8];
tab[3][7]='A';
tab[4][0]='B';
printf("tab[3][7] = %c \nSon adresse = %p\n", tab[3][7], &tab[3][7]); // Adresse en %p = ffbffa87 | en %d = -4195705
printf("tab[4][0] = %c \nSon adresse = %p\n", tab[4][0], &tab[4][0]); // Adresse = en %p = ffbffa88 | en %d = -4195704 |
Si l'on regarde les adresses de plus près:
le résultat en héxa indique 4 bits de différence entre les 2 adresses alors qu'il y a un char à chacune des adresses (qui s'affichent correctement).
Plus étonnant encore, l'adresse renvoyée en %d indique un seul bit de différence.
Est-ce possible ? :?
Merci de m'avoir lu. :roll: