野指针
1没有定义指针只想位置;int* p;
2指针超出所指的位置;char arr[5]={1,2,3,4,5}; char* p=0;*(p+5)=20;
3指针指向的空间已经释放;主函数中的指针指向的为函数中值所存储的地址,当函数结束,该空间释放,就会出现野指针。
避免野指针
1指针初始化
2指针不越界
3指针置NULL
4使用前检查指针
指针定位思考
要定位一个区间,指针需要指向该区间的首地址,所以例如定位第一个元素需要定位在0位置上。
数组偏移
arr为数组首地址;&arr[0]数组第一个元素,整型变量加一;&arr为整个数组地址,&arr+1偏移为整个数组。
二级指针
Int a =10;
Int* pa = &a;
Int** ppa=&pa;//二级指针存放一级指针的地址
数组指针
Int a=10;
Int b=20;
Int c=30;