Bonjour à tous,
suite à quelques observations je suis quelque peu dérouté...
Voici le test effectué:
Si l'on regarde les adresses de plus près:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.![]()
Partager