c语言--指针数组(详解)

目录

  • 一、什么是指针数组?
  • 二、指针数组模拟二维数组

一、什么是指针数组?

指针数组是指针还是数组?
我们类比一下,整型数组,是存放整型的数组,字符数组是存放字符的数组。
那指针数组呢?是存放指针的数组
c语言--指针数组(详解)_第1张图片

指针数组的每个元素都是用来存放地址(指针)的。
如下图:
c语言--指针数组(详解)_第2张图片
指针数组的每个元素是地址,又可以指向⼀块区域。

二、指针数组模拟二维数组

代码:

#include
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;
}

运行结果:
c语言--指针数组(详解)_第3张图片

parr[i]是访问parr数组的元素,parr[i]找到的数组元素指向了整型⼀维数组,parr[i][j]就是整型⼀维数组。
c语言--指针数组(详解)_第4张图片
c语言--指针数组(详解)_第5张图片
欧耶!!!!!我学会啦!!!!

你可能感兴趣的:(#,c语言,c语言,开发语言)