const int a = 10;
int* p = (int*)&a;
*p = 11;问题:
- 调试时候,a的值编程11了,a所在的内存中也变成11了。
- 输出a,或者用a给其他变量赋值,仍然是10。
int xx = a;
004114F4 mov dword ptr [xx],0Ah 而一个变量给另外一个变量的赋值:
int yy = c;
00411502 mov eax,dword ptr [c]
00411505 mov dword ptr [yy],eax 汇编看出,给xx赋值的还是常数0Ah。
本文详细解析了在C++编程中通过指针修改变量值的过程,从源代码到反汇编,揭示了变量赋值背后的内存修改机制,帮助开发者深入理解底层工作原理。
2940

被折叠的 条评论
为什么被折叠?



