什么是指针数组,就是一个数组,里面存的都是指针变量;
例如:
int a = 1, b = 2, c = 3;
int* parr[] = { &a, &b, &c };
parr[] 就是指针数组;
//用指针数组来实现二维数组
int main()
{
int arr1[] = { 1,2,3 };
int arr2[] = { 4,5,6 };
int arr3[] = { 7,8,9 };
int* arr[] = { arr1, arr2,arr3 }; //定义一个指针数组,用来存放上面三个数组的首元素地址(也就是指向每个数组的指针
//那么arr[0] = arr1, arr[1] = arr2, arr[2] = arr3;
//arr[0][0] = 1, arr[1][0] = 4...
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}
打印结果:
1 2 3
4 5 6
7 8 9