Ordre des variables dans la pile
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 :
Code:
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);
} |
J'obtiens :
Citation:
var : 0x7fff9095f78c
buffer : 0x7fff9095f790
Puis dans un second temps, en remplaçant dans le code précédent :
Code:
1 2
| int var;
char buffer[20]; |
Par :
Code:
1 2
| char buffer[20];
int var; |
J'obtiens :
Citation:
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 :)