关于C语言指针的一道选择题,高手请进。

255若有以下的说明和语句:main(){intt[3][2],*pt[3],k;for(k=0;k<3;k++)pt[k]=t[k];}则以一选项中能正确表示t数组元素... 255若有以下的说明和语句:
main()
{int t[3][2], *pt[3],k;
for(k=0; k<3;k++) pt[k]=t[k];
}
则以一选项中能正确表示t数组元素地址的表达式是
A) &t[3][2] B) *pt[0] C) *(pt+1) D) &pt[2]
高手最好能给我讲的详细一点,好吗?key为C
展开
 我来答
mjl86
2007-05-09 · TA获得超过344个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:396万
展开全部
A选项的错误在于没有&t[3][2]这个地址,因为数组最大的地址是&t[2][1];
pt是一个指针数组,即pt[0],pt[1],pt[2]是三个指针(注意区分int (*pt)[3]这种形式),
所以B选项*pt[0]是一个变量,D选项&pt[2]是指针pt[2]的地址而非数组地址;
C选项pt+1即&pt[1],所以*(pt+1)就是&(*pt[1])也就是pt[1],是一个指向数组指针,所以应该选C,~~~~
乌鸦物语
2007-05-09 · TA获得超过184个赞
知道答主
回答量:109
采纳率:0%
帮助的人:0
展开全部
A 答案显然不对,数组下标不能达到[3][2]
B *pt[0]是pt[0]指向的内容,不是地址
C (pt+1)代表指针元素的地址,前面加*代表其内容,即指向内容的地址.故当选.

D 显然不对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
likektv
2007-05-09 · 超过16用户采纳过TA的回答
知道答主
回答量:76
采纳率:0%
帮助的人:0
展开全部
23146789
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式