读书人

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

发布时间: 2012-02-24 16:30:39 作者: rapoo

二维数组加&和不加&的区别???
这是书上的一段代码,没有想明白。
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++)//这样写也是可以的.

读书人网 >C++

热点推荐