int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12} 请问*(*(a+1)+1) 为什么是6?

DiJianheng 1年前 已收到1个回答 举报

vnfw413v_l10c8 种子

共回答了18个问题采纳率:83.3% 举报

a[][4]=
1 2 3 4
5 6 7 8
9 10 11 12
*(*(a+1)+1)代表位于第一行第一列的元素,所以是6

1年前 追问

9

DiJianheng 举报

关键就是*(*(a+1)+1)搞不懂为什么是a[1][1] a不是数组的首地址吗就是a[0] a+1就是a[1] (a+1)+1为什么就变成a[1][1]了呢?

举报 vnfw413v_l10c8

在二维数组中,a[0]代表的是第一行的首地址。 *(a+1)代表第一行的第一个元素2 *(*(a+1)+1)代表第一行第一列的元素。 *(*(a+1)+1)等价于*(a[1]+1), (*(a+1))[1] 关于二维数组与指针的关系,你好好理解下。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.046 s. - webmaster@yulucn.com