c语言问题 int i,x[3][4]; i=*(*(x+1)+1)是什么意思,请详细解释下。谢

c语言问题inti,x[3][4];i=*(*(x+1)+1)是什么意思,请详细解释下。谢谢... c语言问题
int i,x[3][4];

i=*(*(x+1)+1)是什么意思,请详细解释下。谢谢
展开
 我来答
cdyzxy
推荐于2018-03-23 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3701万
展开全部
x是int *[3][4]类型的变量起始地址
x+1是第1维的增加,地址增加的尺寸为int[4],x+1相当于&x[1][0]即第2行起始地址
*(x+1)取得x数组第2行起始地址*(x+1)+1后面的加1是访问第2行第2个元素,相当于加第2维下标,即指向x[1][1]
*(*(x+1)+1)等于x[1][1]中存放的数据
匿名用户
2016-08-30
展开全部

额额额额,数组和指针结合,比较难,尤其是二维数组,

这样写是有问题的,因为哈,二维数组x并没有初始化,

具体啥意思,我得再研究研究,要是初学者的话,可以先忽略这部分,


PS:微信订阅号   学习C语言,可以关注一下哈,大家一起学,

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心在那天
2016-08-30 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:178
采纳率:78%
帮助的人:45.2万
展开全部
我们可以把x[3][4]看成一个行3列4的表格,只不过它的序号是从0开始,x就是这个表格的首地址即行0列0的地址,所以x+1就是行1的行地址,而*(x+1)则是取行1的值即列的首地址即列0的地址所以*(x+1)+1即行1列1的地址,再对他们取值则是行1列1的值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a525970280
2016-08-30 · TA获得超过1163个赞
知道小有建树答主
回答量:698
采纳率:40%
帮助的人:421万
展开全部
x 表示: 二级指针,其值与 x[0][0] 的地址值相同
x+1 表示: 二级指针,其值与 x[1][0] 的地址值相同
*(x+1)表示: 一级指针,其值与 x[1][0] 的地址值相同
*(x+1)+1 表示: 一级指针,其值与 x[1][1] 的地址值相同
*(*(x+1)+1) 表示: x[1][1] 的值
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式