Chinaunix
标题:
字符串数组存储在栈上还是数据段中?
[打印本页]
作者:
zsszss0000
时间:
2015-01-08 12:12
标题:
字符串数组存储在栈上还是数据段中?
各位:
int main()
{
char str[]="hello world";
}
请问这里的“hello world”存储在哪里,用什么方法可以得知?
作者:
daxiguagg
时间:
2015-01-08 13:13
VS里反汇编一下,"hello world"是存在数据段里的,数组str[]当然是在栈上了。
其实就是将数据段"hello world"的内容复制到了数组str[]栈上。
char str[]="hello world";
00413598 mov eax,dword ptr [string "hello world" (4157A0h)]
0041359D mov dword ptr [ebp-14h],eax
004135A0 mov ecx,dword ptr ds:[4157A4h]
004135A6 mov dword ptr [ebp-10h],ecx
004135A9 mov edx,dword ptr ds:[4157A8h]
004135AF mov dword ptr [ebp-0Ch],edx
作者:
codechurch
时间:
2015-01-08 17:37
这样写当然是在栈上。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2