0
点赞
收藏
分享

微信扫一扫

循环体内栈内部的变量为何每次内存位置都相同?


编者:李国帅


背景:

计算机语言特别是C中,堆和栈始终是重要的概念,涉及到内存的操作,一不小心就会导致程序出错。

如果是直接读写错误还能直接发现,若是泄漏的问题恐怕要花大力气去查。

 

问题描述:

在许久以前有一个疑问,现在也无法解答,可能涉及到栈的分配。

 

在调试模式下,循环体内,栈内部的变量为何每次内存位置都相同?

栈内的变量仅被申请了一次吗?

 

请看下面的例子,输出结果发现,每次申请的栈的内存地址都相同,难道说,加载的时候已经设定好了分配好了吗?

 

也许有人知道答案,但对应用开发也不重要。

所需资源:

VC

 

例子:

2006-10-10 16:58

循环体内栈内部的变量为何每次内存位置都相同?_内存地址

 

结果:

栈内部的变量为何每次内存位置都相同?

/*

0 00C0F708,00C0F714 00C0F720
1 00C0F708,00C0F714 00C0F724
2 00C0F708,00C0F714 00C0F728
3 00C0F708,00C0F714 00C0F72C
4 00C0F708,00C0F714 00C0F730

-------------

0 00C0F708,00C0F714 00C0F720
1 00C0F708,00C0F714 00C0F724
2 00C0F708,00C0F714 00C0F728
3 00C0F708,00C0F714 00C0F72C
4 00C0F708,00C0F714 00C0F730

-------------

0 00C0F708,00C0F714 00C0F720
1 00C0F708,00C0F714 00C0F724
2 00C0F708,00C0F714 00C0F728
3 00C0F708,00C0F714 00C0F72C
4 00C0F708,00C0F714 00C0F730

-------------

请按任意键继续. . .

*/

 

 

举报

相关推荐

0 条评论