您的位置:首页 > 其它

动态内存分配小结

2015-12-18 19:08 169 查看
动态内存分配中的free()是释放的意思

    释放是修改了申请的内存的使用状态,从可用变成不可用,里面的数据还在,但是使用权已经交还给系统

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

    free(p);

    free(p);

     当我们对同一块内存进行多次释放的时候,会造成系统的崩溃,这种情况是过度释放造成的.

     malloc申请内存之后,内存使用完,就free,这两个是成对出现的

    

     当对一段内存free之后,根据地址还可以访问这段内存,但是内存的所属权已经不在我们手里,会出现崩溃的可能,这种情况称为野指针

 

     野指针,过度释放和内存泄漏是常见的三种内存问题.编程时要多注意.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: