我只是看着这个问题:
解决方案最终使用了以下行:
int a[3][2] = {{1, 2}, {11, 12}, {21, 22}};
...
int (*b)[2] = a;
Run Code Online (Sandbox Code Playgroud)
"将静态分配的多维数组分配给临时变量".
我对这行的语法有点困惑:
int (*b)[2] = a;
Run Code Online (Sandbox Code Playgroud)
在这种情况下,是否需要括号来获得正确的效果,如果是,为什么?有没有办法在不使用它们的情况下获得相同的结果?
这个:
int (*b)[2]
Run Code Online (Sandbox Code Playgroud)
声明b为指向两个数组的指针int.这与以下内容不同:
int *b[2]
Run Code Online (Sandbox Code Playgroud)
它声明b为两个指针的数组int.
您需要第一个表单才能正确执行指针运算.