首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

int (*p)[4];与int a[4],p=a;的区别,该怎么解决

2012-02-11 
int (*p)[4]与int a[4],*pa的区别请问int(*p)[4]与inta[4],*pa的区别,以及它们各起什么作用?[解决办

int (*p)[4];与int a[4],*p=a;的区别
请问int   (*p)[4];与int   a[4],*p=a;的区别,以及它们各起什么作用?

[解决办法]
二维数组可以理解为“元素为数组的一维数组”,如:
int calendar[12][31];
声明了一个有着12个数组类型元素的数组,
它的每个数组类型元素又是一个有着31个整型元素的数组。
所以,如下是错误的:
int *p;
p = calendar;
下面的方式才是正确的:
int (*ap)[31]; /* 声明了ap是指向一个拥有31个整型元素的数组的指针 */
ap = calendar; /* ap指向calendar数组的第一个元素 */

热点排行