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

二维数组加&和不加&的区别?解决方案

2012-02-24 
二维数组加&和不加&的区别???这是书上的一段代码,没有想明白。int calender[12][31]int (*monthp)[31]for

二维数组加&和不加&的区别???
这是书上的一段代码,没有想明白。
int calender[12][31];
int (*monthp)[31];
for (month=calender; monthp<&calender[12]; monthp++)
{
//省略
}
calender是二维数组calender[12][31]第一行的首地址,calender也是指向行的指针啊,为什么for语句的一个表达式可以用calender赋值,第二个就要用&calender[12] ?
calender[12]和&calender[12]有什么区别?

[解决办法]
&calender[12]得到的指针类型是个一维数组.如果给这个指针加1,它就跳过31个int的长度.
同时&calender[12]指向这个二维数组的尾部之后.

for (month=calender; monthp < calender+12; monthp++)//这样写也是可以的.

热点排行