c语言--指针数组(详解)
目录
- 一、什么是指针数组?
- 二、指针数组模拟二维数组
一、什么是指针数组?
指针数组是指针还是数组?
我们类比一下,整型数组,是存放整型的数组,字符数组是存放字符的数组。
那指针数组呢?是存放指针的数组。
指针数组的每个元素都是用来存放地址(指针)的。
如下图:
指针数组的每个元素是地址,又可以指向⼀块区域。
二、指针数组模拟二维数组
代码:
#include<stdio.h>
int main()
{
int arr1[] = {1,2,3,4,5};
int arr2[] = { 2,3,4,5,6 };
int arr3[] = { 3,4,5,6,7 };
int* parr[] = {arr1,arr2,arr3};
int sz = sizeof(parr) / sizeof(parr[0]);
int i = 0;
for (i = 0; i < sz; i++)
{
for (int j = 0; j < 5; j++)
{
printf("%d ", parr[i][j]);
}
printf("\n");
}
return 0;
}
运行结果:
parr[i]是访问parr数组的元素,parr[i]找到的数组元素指向了整型⼀维数组,parr[i][j]就是整型⼀维数组。
欧耶!!!!!我学会啦!!!!