(int(*)[])var1代表什么?
-
24-10-2019 - |
题
我找到了这个示例代码,我尝试使用Google (int (*)[])var1
可以代表,但我没有有用的结果。
#include <unistd.h>
#include <stdlib.h>
int i(int n,int m,int var1[n][m]) {
return var1[0][0];
}
int example() {
int *var1 = malloc(100);
return i(10,10,(int (*)[])var1);
}
通常我在C99中与VLAS合作,所以我习惯了:
#include <unistd.h>
#include <stdlib.h>
int i(int n,int m,int var1[n][m]) {
return var1[0][0];
}
int example() {
int var1[10][10];
return i(10,10,var1);
}
谢谢!
解决方案
它的意思是 ”将var1施加到int数组的指针中".
其他提示
这是指向INT数组的指针的类型。
(int (*)[])
是指向一系列的指针 int
s。等效于 int[n][m]
函数参数。
这是C中的一个常见习语:首先要做一个malloc保留存储器,然后将其施放为所需的类型。
不隶属于 StackOverflow