64,282
社区成员
发帖
与我相关
我的任务
分享
#include <string.h>
int main()
{
char* pDest = new char[3]();//分配空间 3个字节大小
strcpy(pDest, "123");//将4个字节大小的内存拷贝到3个字节大小空间中,内存越界写
delete [] pDest;// 原分配的3字节大小空间释放 异常出现
pDest = NULL;
return 0;
}
int main(void)
{
char *p = new char[3];
strcpy(p, "abcde");
char *a = p-10;
for (int i=0; i<20; ++i)
{
printf("%02x ", *a++);
}
return 0;
}
#include <string.h>
int main()
{
char* pDest = new char[3]();//分配空间 3个字节大小 //弄个()是咋回事,也许也对的,没见过
strcpy(pDest, "123");//将4个字节大小的内存拷贝到3个字节大小空间中,内存越界写
delete [] pDest;// 原分配的3字节大小空间释放 //可能123后面的内存是不允许你操作的,所以嘿嘿
pDest = NULL;
return 0;
}