我需要使用 p3 从数据中打印 5,但我不知道它是什么。
我设法找到 printf("%d,", ((*(p3))+4));是答案,但我仍然不知道它是如何工作的。
我可以猜测 (*p3)[3][2] 从 dat[0][3][2] 指向 6
我是初学者,不知道先从哪里开始研究。
#include <stdio.h>
void main() {
int dat[2][3][2] = { {{1,2},{3,4},{5,6}},{{7,8},{9,19},{11,12}} };
int* p1, * p2, (*p3)[3][2];
p1 = dat;
p2 = dat[0][1];
p3 = dat;
pr
printf("%d," ,dat[0][2][0]);
printf("%d,", *(*(*(p3))+4)); //this is the answer it prints 5
return 0;
}
*x
与 x[0] 完全相同。 *(x+y)
与 x[y] 相同。您的解决方案*(*(*(p3))+4)
可以重写为p3[0][0][4]
。