我偶然发现了以下演员:
(int (*)[10])
Run Code Online (Sandbox Code Playgroud)
在我看来,这是一个"指向int的指针".我们假设以下数组声明:
int array[10];
Run Code Online (Sandbox Code Playgroud)
然后我会假设它
&array是类型的(int (*)[10])
它是否正确?
它是指向大小为10的整数数组的指针,而不是指向int指针的指针.
例如,当您传递类型时
char arr[20][10]
Run Code Online (Sandbox Code Playgroud)
一个函数它衰变为键入char(*)[10]
由于编译器必须知道没有列来有效地将2d数组转换为内存中的线性分配,因此它与int**类型不同.