Bonjour tout le monde,
S'il-vous-plaît, tout d'abord, est-ce que quelqu'un pourrait m'expliquer pourquoi toutes les adresses de variables contiennent le même nombre de chiffres, sauf les chaines de caractères, qui sont dans une adresse qui manque un chiffre, et qui semble localisée loin des autres variables ?
Je croyais que toutes les variables locales étaient empilées lors de l'appel à la fonction, donc très proches les unes des autres de point de vue adresse!! alors pourquoi j'obtiens un résultat de ce type:
exemple d'adresse d'un entier, d'un float ou d'un pointeur vers un caractère initialisé à l'adresse d'un caractère unique (variables ou constants):
0xbf9557e4
exemple d'adresse d'une chaîne de caractères variable ou constante:
0x80484d0
Autre remarque intéressante?: lorsque je répète l'exécution du programme, l'adresse imprimée par printf diffère à chaque exécution pour toute les variables(ce qui est normal), mais reste la même des vingtaines de fois pour les chaines de caractères (0x80484hh avec hh(hexadecimal) qui ne change qu'après une vingtaine d'exécutions).
Partager