这个数组指针(*(sw+1)[0])如何理解??
#include "stdio.h"void main()
{
int w[2][3]={{3,5,2},{1,9,7}};
int (*sw)[3]=w;
printf("%d",(*(sw+1)[0]));
}
// 这个地方,我想问下应该怎么样理解呢?
(*(sw+1)[0]),.输出的值为1.
我是这样认为的:
sw数组指针指向 二维数组名首行地址. (sw+1) 应该就是行加1, 这个时候移动到了 {1,9,7}中的 首行w[1][0]的元素地址.
这个时候 *(&w[1][0])[0]处应该怎么样理解? ,若是变址运算符先执行 (&w[1][0])[0]又是啥意思呢,我调试感觉好象是 表示首行的地址.
请懂的教下我。谢谢了!
[ 本帖最后由 默默学习 于 2011-3-10 20:18 编辑 ]