现在的位置: 首页 > 综合 > 正文

内存溢出问题

2014年01月20日 ⁄ 综合 ⁄ 共 251字 ⁄ 字号 评论关闭

上一篇中说到使用内存分配,动态分配二维数组。

在后面自己调试中,发现内存溢出问题,调式之后发现自己之前对字符串操作这快存在严重失误。

比如:

char*p=0;

malloc(p,sizeof(20));

为P分配20字节空间。

分配完成后使用

p="1245";

这样,把字符串“1245”的首地址赋值给指针P;

虽然这样可以P[0]='1',P[1]='2'.......

但是这样赋值操作后,P指向的地址不再是malloc分配的地址。

最终会造成:

进行free(p); 操作会失败,到时malloc分配的内存不能被释放;

抱歉!评论已关闭.