二维指针+指针数组

时间:2022-12-11 07:16:29

大家晚上好呀,今天要给大家分享的是二维指针和指针数组的相关知识。之前我们有讲过什么是指针,那些就是一维指针。

然后什么是二维指针呢,简单说就是进行套娃,指针的指针,就是定义了一个指针但是里面存的是另一个指针的地址。基本格式就是,类型+**+指针名。所以有几维指针就是几个*,因为多维数组实在太复杂了,所以这里只详细讲二维数组。

二维指针+指针数组

我们分析一下,这个int *p=&p; 首先p是一个变量名,然后先和左边的结合,表示这个定义的是一个指针,然后剩下的int的意思就是说这个p指针指向一个int,即指向一个指针。而这个指针的地址刚好就是一维指针的地址。然后我们手动画图理解一下这个二维数组是如何实现对a的取值。

二维指针+指针数组

下面的图也是简单表示这几个指针的指向关系

二维指针+指针数组

从最下面开始往上走,首先ppa是一个变量名,int**最右边表示了ppa是一个指针,然后int*便是指向的类型,以此类推别的。

下面的就是指针数组

我们都知道,整型数组放整型数据,字符数组放字符,所以指针数组就是放指针啦。如果我们有很多变量,然后每个变量都要设置一个指针来存放变量的话就会很麻烦,所以我们引用指针数组int* arr[3];然后通过for循环或者直接取地址把每一个变量的地址放进去。

二维指针+指针数组

二维指针+指针数组

但是用for循环可能复杂点

二维指针+指针数组

好啦,今天的分享就到此结束,我们明天见,晚安。