远指针:多维指针
野指针:随机指向一块内存的指针
容易造成的错误:内存泄漏
可能不出现段错误:有时候随机分配的内存地址可能是已经分配过的内存地址
避免野指针:
我认为有以下几点要做,
首先,我们要养成良好的编码习惯
1:、当指针没有指向时,置为空(并不能解决,只能起引起注意的作用)
能引起我的注意,不能对这个指针进行操作。 在操作系统中0地址的空间不可以进行赋值操作 NULL:#define NULL (void *)0
2、当往一个指针指向的空间赋值时,一定要给这个指针分配空间
malloc(sizeof(int)) 分配int类型所占内存的空间 4、10等直接数字在C编程中叫幻数
3、当给一个指针分配完空间,要检查空间是否分配成功
if(p == NULL )
{
printf("malloc error!\n");
exit(1);
}
4、分配好一块内存后,先初始化再用
memset(p,0,sizeof(int));
5、用完后释放
free(p);
6、释放完后再次置空(此时p重新成为野指针,要让这时的p为空)
p = NULL;