我需要将类型为 int[][3]
的变量传递给只接受 void*
作为参数的回调函数。我该怎么做?
以下代码无法编译:
void myfunc(void *param) {
int i[][3];
i=*param;
printf("%d\n",i[1][2]);
}
int main(int argc, char *argv[])
{
int i[][3]={
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}};
myfunc(i);
}
最佳答案
使用:
int (*i)[3] = param;
然后像以前一样使用它。这是一个指向整数数组的指针。
关于c - 如何将 void* 转换为 int[][3],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56054015/