好吧所以我遇到了这种指针类型,我试图在我的代码中使用它,但我得到编译器的警告说它在不兼容的指针类型
这是类型
data_type (*i)[j]与i作为变量的名称和j作为指针的大小
例如,如果您希望指针的大小为4 ints,则需要声明
int (*i)[4] 然后你需要分配一个4个整数的数组
i = &s[4]
Run Code Online (Sandbox Code Playgroud)
但是当我尝试分配它时,我收到编译器发出的警告 incompatible type
那么这里的问题似乎是什么?以及如何正确使用它?
cdecl.org告诉我们它是:
Run Code Online (Sandbox Code Playgroud)int (*i)[4]将i声明为int的数组4的指针
所以,我们可以像这样使用它:
int arr[4];
int (*i)[4] = &arr;
Run Code Online (Sandbox Code Playgroud)
或者,使用堆分配的内存:
int (*j)[4] = malloc(sizeof(int[4]));
Run Code Online (Sandbox Code Playgroud)