关于for循环的局部变量的内存地址问题

在Windows10环境下使用Visual Studio 2015进行C++编程时,博主发现一个意外现象:尽管预期局部变量每次迭代会被销毁并重新创建,但其内存地址始终保持一致。这个问题引发了一场关于内存分配和栈空间管理的讨论,涉及编译器优化和内存对齐等因素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境: windows10 + vs2015


参考网址:
https://www.zhihu.com/question/377776789

近日在测试的时候,执行了如下的代码:

	for (size_t i = 0; i < 100; i++)
	{
		int kkk = i;
		cout << &kkk << endl;
	}

按照个人本来的想法,局部变量每次都会创建,然后销毁,
那么内存地址应该是每次都不一样的.
但是实际上输出得到地址都是一样的.

在上述网址中可以找到各种答案.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值