C语言中的内存泄漏与野指针
来源:互联网 发布:主机屋mysql数据库地址 编辑:程序博客网 时间:2024/06/04 19:40
野指针:
野指针指向一个已删除的对象或未申请访问受限内存区域的指针,该区域随时可能被系统再次分配。与空指针不同,野指针无法通过简单地判断是否为 NULL避免,而只能通过养成良好的编程习惯来尽力减少。对野指针进行操作很容易造成程序错误。
1.多个指针存储同一个内存地址的时候,free了其中一个指针造成的野指针
int* test1 = (int*)malloc(sizeof(int)*5); memset(test1, 0, sizeof(int) * 5); int* temp = test1; free(test1);// temp成为了一个野指针, test1 = NULL;// test1不能再被访问 Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1),如果没有该行代码,test1也是野指针
2.调用了free没有将指针置NULL
内存泄漏
1. 指针指向新的地址之前没有free之前申请的内存
(所谓指针指向某个变量,其实就是指针变量存储了该变量的起始地址)
int* p = malloc();p = &q;//出现了内存泄漏
阅读全文
0 0
- C语言中的内存泄漏与野指针
- C 语言中的指针和内存泄漏
- C语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- C 语言中的指针和内存泄漏
- 拯救小鸡
- 堆排序
- 设计模式(15)--解释器模式
- ArcGIS Server导入已有PNG格式瓦片
- Win7、Vista、XP下一键安全删除USB设备
- C语言中的内存泄漏与野指针
- Linux五种IO模型浅谈
- 面试题 51: 数组中重复的数字
- Openlayers3中实现地图的切割
- 关于QUARTUS调用modelsim仿真时出现的闪退问题解决
- 模拟实现长度受限制的字符串函数(strncpy、strncat、strncmp)
- poj3481(map的使用)Double Queue
- 关闭shadowsocks之后出现的浏览器无法联网
- NYOJ 1081 摆方格