定义:数组指针,顾名思义是一种指针,这种指针指向数组
如下列各种类型的指针:
但是数组指针一般用在二维数组的应用上。
为什么一维数组不用数组指针:
如:遍历一下的数组各个元素:
那还不如直接用指针指向数组,来遍历所有的元素
是不是此刻如果用数组指针来遍历一维数组显得额外多此一举;
但数组指针在二维数组中使用显得很方便
二维数组又可以看作父子数组,父数组看作行,子数组是列。
所以二维数组的首地址应该是第0行的那一列,而不是单独某个元素
在指针数组中传送二维数组名字就是传首元素地址,通过首元素的地址我们很快就等得到数组的第0行,就可以很快遍历数组各个元素
指针数组
含义:指针数组,顾名思义,是一个数组,用来存放指针
如:int *parr[5]={1,2,3,4,5};
如:打印如下数组的内容
int arr1[]={1,2,3,3};
int arr2[]={4,5,6,6};
int arr3[]={7,8,9,6};
#include <stdio.h>
void print_arr(int *p[])
{
int i=0;
int j=0;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("%d ",*((p[i])+j));
}
putchar('\n');
}
}
int main()
{
int arr1[]={1,2,3,3};
int arr2[]={4,5,6,6};
int arr3[]={7,8,9,6};
int *parr[]={arr1,arr2,arr3};
print_arr(parr);
}