int w[3][4]={{0,1},{2,4},{5,8}}; int(*p)[4]=w;则数值为4的表达式是-.

问题描述:

int w[3][4]={{0,1},{2,4},{5,8}}; int(*p)[4]=w;则数值为4的表达式是_.
a.*w[1]
b.*p[1]
c.w[2][2]
d.p[1][1]
1个回答 分类:数学 2014-10-13

问题解答:

我来补答
选d
首先要明白w和p是一样的,是一个东西,这是p的定义int(*p)[4]=w决定的
然后你看d项,p[1][1]就是w[1][1],根据数组的定义w[1][1]就是4
*w[1]相当于w[0][1]
*p[1]相当于p[0][1]也就是w[0][1]
再问: 我想不通的就是int(*p)[4]=w;意思是p是一个指向有4个元素的数组的指针,然后呢?
再答: 你想想w是什么吧,w[i][4]=*(w+i)[4],也就是说w,w+1,w+2都是指向有4个元素的数组的指针!w和p的类型是完全一样的,现在把w赋给p,你就把p当做w来用就可以了,它们是等效的。 关于多重指针,个人觉得还是谭浩强的书讲的明白,很多人瞧不起他,我觉得他的书却有自己的好处,就是这些细节讲的很明了,推荐你看一下
 
 
展开全文阅读
剩余:2000
上一页:求补英语