daily study 15

时间:2023-01-18 17:54:33

初识指针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)指针使用前检查有效性

指针运算

指针+-整数

指针-指针:得到的是指针与指针之间的元素个数(前提:两个指针指向同一块空间)

指针的关系运算