野指针:随机指向一块内存的指针称为野指针,野指针造成的错误叫内存泄漏,野指针不一定造成内存泄漏,野指针指向空时不对野指针指向的空间赋值。
怎么避免野指针:养成良好的编码规范;
NULL是个宏,#define NULL(void*) 0;0地址对应的空间是不允许操作的,见空不对指针指向的空间操作;
int *p =malloc(sizeof(int));//往一个指针指向的空间赋值时,要检查指针是否分配空间;sizeof(int);便于程序的移植;
if(p ==NULL)
{
printf("malloc error");
exit(1);//退出程序
}
memset(p,0,sizeof(int));//将p指向的空间全部填充0
scanf("%d",p);
printf("*p = %d\n",*p);
free(p);//释放
p = NULL;//释放完再次置空
return 0
}
4,8,10·····这些数都叫幻术;