我偶然发现了以下类型转换:
(int (*)[10])
在我看来,这是一个“指向 int 的指针”。 让我们假设以下数组声明:
int array[10];
那么我会假设
&array
的类型是 (int (*)[10])
这是正确的吗?
最佳答案
它是一个指向大小为 10 的整数数组的指针,而不是一个“指向 int 指针的指针”。
例如当你传递类型时
char arr[20][10]
对于一个函数,它会衰减为类型 char(*)[10]
由于编译器必须知道列数才能有效地将二维数组转换为内存中的线性分配,因此它与类型 int ** 不同。
关于c - 这个类型转换是什么意思? (int (*)[10]),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30933636/