看,在第九章有这么一个多维数组的例子, 代码如下:inta[2][3][5];int(*r)[5]=a[0];int*t=a[0][0];书中提到指针所指向的数组的维数不同,其区别很大,以下为例子r++;t++;将会使r和t分别指向它们各自的下一个元素,它们所增长的步长是很不相同的,因为r所指向的数组元素的大小是t所指向的数组元素的大小的三倍.我用程序输出r和t自增前后的值,如下所示:beforeincrement,ris0xbfdfa654afterincrement,ris0xbfdfa668beforeincrement,tis0xbfdfa654afterincrement,tis0xbfdfa658r增长了0x14,即20,t增长了0x4,即4,r的步长是t的步长的五倍,请问怎么会有这种区别?按照r所指向的数组元素的大小是t所指向的数组元素的大小的三倍这句话,r的步长不应该是t的三倍才对吗?另外,怎么分析r和t的定义呢?多谢
HUH函数
互换的青春
相关分类