局部变量的地址与栈

 

http://topic.csdn.net/u/20110313/21/8bcb53db-c507-4456-9b8f-90cd673b0ca1.html

 

#include<stdio.h>
void main()
{
int a,b,c;
printf("%d %d %d\n",&a,&b,&c);
}

个人定义了这三个变量,目的是想了解三个变量的地址之间的关系,每个变量都分配 4个字节,一个地址编号代表一个字节。
运行输出结果却是:1245052 1245048 1245044 ,为什么输出地址编号是从大到小的呢? 我以为是从小到大的。

请各位高手解析一下,谢谢了。

 

Ans:

 

先定义的变量先入栈。。栈的生长方向是从高地址到低地址

 

具体参考原帖

你可能感兴趣的:(局部变量的地址与栈)