初识指针2;
野指针:指针指向的位置是不可知的
1.
int*p;
*P=20;
指针未初始化;
2.int arr[10]={0};
int*p=arr;
int i=0;
for(i=0;i<=10;i++)
{*p=i;
p++;
}
越界访问;
3.指针指向了空间释放
int* test()
{
int a= 10;
return &a;
}
int main()
{
int *p=test();
*p=20;
}
4.如何规避野指针
(1)初始化指针,当不知道指针应该初始化为什么地址时,直接初始化为NULL
(2)小心指针越界
(3)当指针指向内存释放时,设置为NULL
(4)指针使用前检查有效性
指针运算
指针+-整数
指针-指针:得到的是指针与指针之间的元素个数(前提:两个指针指向同一块空间)
指针的关系运算