春风化雪的专栏
一起讨论C++/C高质量程序设计
登录
注册
全站
当前博客
空间
博客
好友
相册
论坛
留言
用户操作
[即时聊天]
[发私信]
[加为好友]
春分化雪
ID:northwest_wolf
共
18342
次访问,排名
6864(-2)
,好友
16
人,关注者
41
人。
northwest_wolf的文章
原创 14 篇
翻译 0 篇
转载 0 篇
评论 87 篇
最近评论
sujinzhao407:
刚在Linux下用KDevelop并不存在这个问题,也就是说动态申请到内存首地址的前的第16个字节处保存的并不是申请到的空间大小,输出结果为0,而在VC下才会出现这个情况。另外qgs551提到的:
double *pmemory=(double*)(unsigned int*)((char*)a-16);
*pmemory =6.0;
应该将doub……
sujinzhao407:
刚在Linux下用KDevelop并不存在这个问题,也就是说动态申请到内存首地址的前的第16个字节处保存的并不是申请到的空间大小,输出结果为0,而在VC下才会出现这个情况。另外qgs551提到的:
double *pmemory=(double*)(unsigned int*)((char*)a-16);
*pmemory =6.0;
应该将doub……
sujinzhao407:
但是不明白为什么动态申请的内存大小会保存在首地址前的16个字节处,是不是和VC的编译器有关啊,期待有人能用其它编译器测试下!
sujinzhao407:
经过调试,在动态内存分配后,*((unsigned int*)((char*)a - 16))的值确实已经是4344了,但如果将*pmemory = 4344就OK了,所以我觉得如果赋成6.0的话,因为申请的空间大小是4344,在delete []a时释放的地址空间大小确实6所以就会报错了,赋成4344就没有问题是因为申请分配的空间和释放时的空间大小一致!
csnffdn:
不错的书,准备买一本
文章分类
技术文章
(RSS)
生活
(RSS)
收藏
相册
技术图片
我的闺女
存档
2008年04月(1)
2008年01月(3)
2007年12月(1)
2007年10月(1)
2007年09月(5)
2007年08月(1)
2007年07月(1)
2007年02月(1)
软件项目交易
订阅我的博客
开始上传照片
northwest_wolf的相册
技术图片
我的闺女