一级指针
作为函数的输入参数,调用的时候实参和形参是在不同的内存空间,但内存中存放的地址是指向同一个地址,所以形参在函数执行中可以访问实参指向的内存空间,但形参指向的改变不能影响实参的改变。
二级指针
利用二级指针,可以通过改变形参的指向来改变实参的指向。
一级指针、二级指针都可用作函数的返回值,只不过使用一级指针作为函数返回值时,需要在调用函数之前申请额外的内存空间,方便在函数中对该内存进行赋值。使用二级指针不需要申请额外的内存空间,只需要在函数内部申请即可。
指针数组和数组指针
(1)指针数组:实质上是一个数组,只是这个数组中的所有元素均为指针变量。比如:int* arr[10]
(2)数组指针:实质上是一个指针,指针指向一个数组。比如:char (p)[10] = &arr ,其中p变量就是一个数组指针,类型是char()[10]。
&数组名VS数组名
对于int arr[10];
arr:是一个 int* 指向首元素的指针;
&arr:是一个数组指针 int*[10] 是指向整个 int[10]数组。
指针小结1
最新推荐文章于 2023-01-29 19:59:47 发布