1.首先我们应该了解什么是指针?指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。可以通过地址找到所需的变量单元,可以说,地址指向改变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。
2.指针的正确格式是什么?形如:int a=10;int *p=&a;这个意思就是先将10赋值给a,存在了电脑的存储器中,然后定义指针*p=&a,是表示指针p指向了a的地址。另外指针一定要初始话。这个就是指针的正确用法。
3.什么是野指针?野指针通俗的讲就是格式不规范,有问题的指针。按书上的说就是指针指向的位置是不可知的
4.野指针的成因:
1.指针未初始化。p会默认为随机值。
例如:int main()
{
int *p;
*p=20;
return 0;
}
这个如果打印,结果是随机的。
2.指针越界访问。
当指针的指向超出数组的范围时,就导致了野指针
例如:
int a[ 10];int *p=a[ ];*p=a[11]
11超出了数组范围就会导致指针没有指向,就会变成野指针。
3.指针指向的空间释放。
这作者自己也没弄懂,知道的可以和作者说一下
——————————————————————————————作者是萌新,谢谢支持!
作者:小海
期待下次能更加好!