我正在浏览一些代码,但我无法理解以下代码。它有什么作用?这是什么意思?
typedef void*(*fun)[2];
fun new_array;
答案 0 :(得分:5)
在clockwise/spiral rule之后,fun
是一个指向void
的两个指针数组的指针。
答案 1 :(得分:5)
好的,基本上,这就是typedef
的工作方式:首先想象typedef
不在那里。剩下的应该声明一个或多个变量。 typedef
所做的是如果你要声明x
类型的变量T
,而是声明x
是T
类型的别名1}}。
所以考虑一下:
void*(*fun)[2];
这声明了一个指向大小为2的void*
数组的指针。因此,
typedef void*(*fun)[2];
将fun
声明为类型"指向大小为2"的void*
数组的指针。 fun new_array
声明new_array
属于此类型。