指针杀手之野指针
来源:互联网 发布:java架构师实践指南 编辑:程序博客网 时间:2024/04/29 22:23
1、野指针的概念:随机指向内存的指针;
2、野指针的危害:造成内存泄漏,引起段错误;(有的时候会不造成内存泄漏,这种特殊情况是不能认为控制的,时好时坏令人茫然。)
3、如何避免野指针:养成良好的编码规范;
(1)当指针未初始化时,要对指针进行初始化,可初始化为空;
(2)当给指针指向的空间赋值时,一定要给该指针分配空间;
(3)当给一个指针分配空间时,一定要检查该指针的空间是否分配成功;
(4)当分配好内存空间时,一定要对该内存空间初始化;
(5)当空间用完之后,一定要把该空间还给系统,释放其内存空间;
(6)当指针的内存空间释放后,一定要再次给该指针初始化,可以初始化为空;
代码例如下:
#include<stdio.h>int main(){ char *p = NULL; p = (char *)malloc(sizeof(char) * 100); if(p == NULL) { printf("malloc error!\n"); } p = "hello world"; printf("The string is %s\n",p); free(p); p = NULL;}
0 0
- 指针杀手之野指针
- C/C++指针之--NULL指针,零指针,野指针
- C++之失控指针、迷途指针、野指针、悬浮指针及空指针[转]
- 无废话之指针研究 --- 野指针
- C语言指针之野指针
- 野指针之2
- 指针之指针数组
- 野指针?空指针?
- 智能指针 野指针
- 野指针、空指针
- 野指针 空指针
- 指针与野指针
- 指针,野指针
- 野指针,空指针
- 一级指针-野指针
- 野指针 空指针
- 内存篇之野指针
- linux c之野指针
- Leetcode在线编程minimum-depth-of-binary-tree
- HTTP中请求转发与重定向的区别
- Splay 入门
- Java Array
- mysql中的多表查询基础
- 指针杀手之野指针
- 算法导论习题4-1-5 python解答
- mysql笔记系列——事务隔离级别详细分析
- Java实现干支纪年法
- 脚本打怪-shell学习
- php解决约瑟夫环问题
- java实现10进制转换为英文字符表示的26进制,得到唯一自增的英文字符串序列。
- Win10 下安装PhotoShop CS6
- Leetcode在线编程evaluate-reverse-polish-notation