大神,请问为什么第四五行要强制转换?而第三行不用呢?

2025-01-31 16:04:39
推荐回答(2个)
回答1:

b是三维数组,b就是三级指针 int***,b[x]得到的就是 二级指针,b[x][y]得到的是一级指针。
所以 第三行两边都是一级指针,OK。
b[1] 得到的是二级, int (*)[4]
b+1,还是三级指针,int (*)[3][4]

回答2:

因为b是三维数组
这个b里面总共有两条二维数组,这两条二维数组里面各自有3条一维数组,每一条一维数组都有4个元素,就是b[2][3][4],b[1][0]就只能定位到是哪条一维数组,那它就是一个指针