什么是野指针?
野指针是随机指向一块内存的指针,容易造成内存泄露引发段错误。但不一定每次都会产生段错误,因为每一次随机分配的地址可能是已经分配或申请的地址。
如何避免野指针?
避免野指针要养成以下良好的编码习惯:
1、当一个指针没有指向时,给它置为空(NULL) (引起注意,指向零地址,不能操作)
2、当要往指针指向的空间赋值时,一定要给该指针分配空间。int *p = malloc(sizeof(int));
3、当给一个指针分配空间后,检查空间是否分配成功。
if(p == NULL)
{
printf(“malloc error!\n”);
exit(1);
}
4、当指针分配成功后,要初始化内存。Memset(p,0,sizeof(int)):
5、用完后要释放内存空间 。free(p);
6、释放完后要再次置空。 p = NULL;
字符的遍历
1、
while(*ptr != ‘\0’)
{
Ptr++;
}
2、
for(i = 0; *(ptr + i) != ‘\0’; i++)
{
}