c语言存放二维数组地址

请问如何用一个指针数组存放几个二维数组,比如有二维数组a1[][2],a2[][2],有指针数组*p[],使得p[0]=a1,p[1]=a2。(上面语法上有错误,但差不多就这个意思)

数组要求里面的类型相同,指针数组要求里面的指针的类型是一样的,
如果你的二维数组是同一类型,则可以方便存储,
如果不是同一类型,但是非要把它们存在一个数组中,那么需进行一次强制转换,指针强转别的统一类型或者指针强转成地址的值存储。

a1,a2的第一维都没指定大小啊
*p[]相当于一个二维数组,如果p[0]=a1,p[1]=a2的话,p就要相当于三维数组了。你的需求有问题