为什么普通指针指向二维数组,直接取内容可以得元素值.
#include "stdio.h"void main()
{
int a[3][2]={{2,4},{5,1},{7,9}};
int *p=a;
int (*sp)[2]=a;
printf("%d",*p);//普通指针指向的二维数组,直接把结果输出了。
printf("%d",**p);//数组指针则存在一个行指针地址,取两次才行。
}
我是这样理解的:二维数组名a 难道不是数组名吗,那它是不是就应该存在*a或a[0],a[1],a[2]的首行地址?
既然这样,我同样是以指针来接。为什么普通指针只用取一次内容呢?,难道不是同一个二维数组名吗?
小弟新手,有些疑问不解,还望各位多多指教!