野指针 刺骨的言语ヽ痛彻心扉 2022-09-23 08:51 156阅读 0赞 首先举一个例子来说明什么是野指针 int main() \{ int \*p; scanf("%d",p); printf("%d\\n",\*p); return 0; \} 我们发现运行这段程序是会出现段错误,这是为什么呢? 因为指针p是一个野指针。 为什么说指针p是野指针呢? “野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。 上面程序中我们没有给p初始化,任何指针变量刚被创建时不会自动成为NULL指针,系统就会随机的给他一个初始值,而p指向的这个内存空间并没有申请,因此p就成为了野指针。 野指针的危害:会产生内存泄漏 原因:(1)指向一块已经释放的内存 (2)指向一块没有访问权限的内存
还没有评论,来说两句吧...