您的位置:首页 > 其它

动态开辟的链表 可以当做数组使用

2012-05-19 16:51 204 查看
#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main(void)

{

int *p=NULL;

int a = 2;

p = (int *)malloc(sizeof(int)*5);

memcpy(&p[2], &a, sizeof(int));

printf("%d %#x\n", p[2], &p[2]);

return 0;

}



我在CFree上 调试, 可以看到开辟的内存地址:

0x3e2590 : 0d f0 ad ba 0d f0 ad ba 而 &p [2] 的地址: (int *) 0x3e2598

0x3e2598 : 02 00 00 00 0d f0 ad ba

0x3e25a0 : 0d f0 ad ba 0d f0 ad ba

0x3e2598: ab ab ab ab ee fe ee fe

0x3e25b0: 00 00 00 00 00 00 00 00

从上可以看到, p[2] 使用的是 开辟的链表的第二个元素 , 而不是第三个。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: