读书人

求问C专家编程书中的有关问题

发布时间: 2012-04-10 21:03:56 作者: rapoo

求问C专家编程书中的问题
C 专家编程中第九章《再论数组》9.6.2 分解多维数组中。
int apricot[2][3][5];
int(*r)[5]=apricot[0];
int *t = apricot[0][0];
打印 r 和 t 的值;
r++;
t++;
再打印 r 和 t 的值。

书中说“将会使r 和 t 分别指向他们的下一个元素(两者所指向的元素本身都是数组)。
他们所增长的步长很不相同的,因为r 所指向的数组元素的大小是t 所指向的数组的元素大小的三倍”。

求问这说法对吗?

我感觉 r 是指向整形数组的指针。t 是指向整型值的指针。与他们初始化的 apricot 无关吧?

书中说法是什么意思呢?

谢谢!

[解决办法]
对于指针,看看 *p 的元素类型,步长就是sizeof(*p)
[解决办法]
r是一个有5个元素的数组的指针
t指向int

读书人网 >C语言

热点推荐