动态内存管理
malloc 申请内存 malloc(size);
free 释放内存 free(p);
当我们不释放动态内存时,如果程序结束,动态内存由操作系统回收,如果程序不结束,动态内存不会被回收,就会造成内存泄漏
calloc 申请的空间会被初始化为0 calloc(size);
realloc 调整动态内存的大小 realloc(p,size);
常见错误:
1.对null指针的解引用操作 解决办法:判断p是否为空
2.对动态开辟的空间越界访问 解决办法:对动态内存边界多检查
3.对非动态开辟的内存使用free
4.用free函数只释放一部分动态内存
5.对一块动态内存多次释放
6.开辟动态内存忘记free
关于动态内存管理的一些看法
最新推荐文章于 2024-10-02 06:00:47 发布