Bonjour,
Débutant activement dans la programmation en C, j'ai lu à plusieurs endroits que les variables locales étaient empilés dans la pile en fonction de leur ordre de déclaration.
J'ai donc voulu mettre ça en action pour voir ce que cela donne.
Avec ce code :
J'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 #include <stdio.h> int main() { int var; char buffer[20]; printf("var : %p\n", &var); printf("buffer : %p\n", buffer); }
Puis dans un second temps, en remplaçant dans le code précédent :var : 0x7fff9095f78c
buffer : 0x7fff9095f790
Par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int var; char buffer[20];
J'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 char buffer[20]; int var;
var : 0x7fff720b834c
buffer : 0x7fff720b8350
Est-il donc normal que l'adresse de "var" soit dans les deux cas inférieure à l'adresse de "buffer" ?
Merci
Partager