您的位置:首页 > 其它

如何避免野指针

2016-11-30 22:47 246 查看
何为野指针?野指针就是,没有被初始化的指针,会由系统默认一个随机地址的指针。如果不小心使用的野指针,易造成内存泄漏的段错误。给我们的程序造成一定的破坏。

那么,我们该如何避免野指针呢?

首先,我们该养成一些良好的编程习惯。

1、当指针没有指向的地址空间是,初始化为空。这样可以引起程序员调试时的注意程度。

2、当往指针指向的空间赋值时,一定要检查是否有给这个指针分配空间。如果没有,就用malloc函数进行分配空间。

如:char *ptr = (char *) malloc (sizeof(char) * 100);

malloc函数返回的是分配的空间的地址。

3、malloc 分配空间后,一定要进行检查 指针是否为空。

如:

if(ptr == NULL)

{

    printf("malloc error!\n");//分配空间失败

    exit(1);

}

4、对空间进行清空,“清扫”掉一些垃圾数据。

如:memset( ptr, '\0', sizeof(char) *100;

5、空间使用完了还要还给系统,所以我们要进行释放内存空间。

如:free (ptr);

6、 最后一步,将刚刚使用的指针置空。

如:ptr= NULL;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: