读书人

关于字符类型数据的组织结构有关问题

发布时间: 2013-06-25 23:45:41 作者: rapoo

关于字符类型数据的组织结构问题
现在有好多字符类型,比如 char*, string, wchar* ,byte[]等等 请问 这些类型 在内存中保存的是么样子的?
比如 我知道 char* a = "abc" 那么 内存中的形式为:
0x0002565 a
0x0002566 b
0x0002567 c

其他的是什么形式呢? 谢谢! 给个链接也行! 马上结贴!
[解决办法]

1:    #include <stddef.h>
2: typedef unsigned char BYTE;
3: BYTE b[]="byte";
4: char *a="char";
5: wchar_t *w=L"wchar_t";
6: void *p;
7: int main() {
00401000 55 push ebp
00401001 8B EC mov ebp,esp
00401003 83 EC 40 sub esp,40h
00401006 53 push ebx
00401007 56 push esi
00401008 57 push edi
8: p=b;
00401009 C7 05 40 30 40 00 10 mov dword ptr [p (00403040)],offset b (00403010)
9: p=a;
00401013 A1 18 30 40 00 mov eax,[a (00403018)]
00401018 A3 40 30 40 00 mov [p (00403040)],eax
10: p=w;
0040101D 8B 0D 1C 30 40 00 mov ecx,dword ptr [w (0040301c)]
00401023 89 0D 40 30 40 00 mov dword ptr [p (00403040)],ecx
11: return 0;
00401029 33 C0 xor eax,eax
12: }
0040102B 5F pop edi
0040102C 5E pop esi


0040102D 5B pop ebx
0040102E 8B E5 mov esp,ebp
00401030 5D pop ebp
00401031 C3 ret

00403010 62 79 74 65 00
00403018 A4 20 40 00
004020A4 63 68 61 72 00
0040301C 94 20 40 00
00402094 77 00 63 00 68 00 61 00 72 00 5F 00 74 00 00 00

读书人网 >C++

热点推荐