c语言要防止野指针。
4个回答
展开全部
比如:
#include <stdio.h>
int main()
{
int *p;
for (int i=0;i<5;i++)
{
int a[5];
p=a;
*(p+i) = i;
}
printf("%s",p);
return 0;
}
p引用了局部数组a的地址,p在局部变量销毁后,就成了野指针。
#include <stdio.h>
int main()
{
int *p;
for (int i=0;i<5;i++)
{
int a[5];
p=a;
*(p+i) = i;
}
printf("%s",p);
return 0;
}
p引用了局部数组a的地址,p在局部变量销毁后,就成了野指针。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
野指针意思是未初始化的指针看似没指向任何地方,但是其实默认了是指向某个未知地点的,这个地点可能是系统的某个重要的代码,所以一旦对这个无知指针的某个行为改动了它所指向的系统代码,那系统就会出现问题,至于出现什么问题就难说了。再说老师说这番话是出于程序员的严谨,因为要是以后在一个常用程序里加入这种危害性的代码,那每次运行可能都会让系统承担一次风险,但是事实上出问题的几率其实是很低的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询