C语言 将void*转换为二维数组



我有一个void*我在一些函数,这实际上是一个二维int数组。我想把它作为参数发送给一个需要二维数组的函数。最好的铸造方式是什么?

void foo(void* val){
   //How to cast val in order to send to bar??
   bar()
}
void bar(int val[2][2]){
//Do something 
}
bar((int(*)[2]) val);

(正如Carl Norum所说的,演员阵容实际上是不需要的;但它的优点是,如果您不小心将它传递给期望的函数(例如int(*)[3]),它会给您一个编译器警告。

相关内容

  • 没有找到相关文章

最新更新