之前对数组的概念一直没有理解透彻,只觉得数组名就是个常量指针而已,用法和基本的指针差不多。所以当我尝试用二级指针去访问二维数组时,就经常会出错。下面就是刚开始写的一个错误的程序:
#include <stdio.h>
int main()
{
int iArray[2][3] = { { 1,2,3},{ 4,5,6}};
int **pArray = NULL;
pArray = iArray;
printf("pArray[0] = %d\n",*pArray); (1)
printf("array[0][0] = %d\n", pArray[0][0]); (2)
printf("array[1][2] = %d\n", pArray[1][2]); (3)
return 0;
}