二维数组的指针与指针的指针是不一样的。所以int **ppr;int fool[2][3];ppr = fool;这样是不行的。二维数组的指针必须限定第一维的大小。所以:int (*ppr)[3];ppr = fool;这样才可以。
可以,但所声明的指针类型是指向指针的指针如: int a[3][3];int** array_ptr=a;
可以,二维数组名本身就是表示一个数组的首地址。
可以,数组名是数组首元素的地址
可以,例如a[],*p=a