这个typedef语句有什么作用?

tMJ*_*tMJ 1 c++ typedef

我正在浏览一些代码而无法理解以下代码.它有什么作用?这是什么意思?

typedef void*(*fun)[2];
fun new_array;
Run Code Online (Sandbox Code Playgroud)

Som*_*ude 5

遵循顺时针/螺旋规则,fun是一个指向两个指针数组的指针void.


Bri*_*ian 5

好吧,基本上,这是typedef有效的:首先想象typedef不存在.剩下的应该声明一个或多个变量.typedef它的作用是如果你要声明一个x类型的变量T,而是声明它x是该类型的别名T.

所以考虑:

void*(*fun)[2];
Run Code Online (Sandbox Code Playgroud)

这声明了一个指向void*大小为2 的数组的指针.因此,

typedef void*(*fun)[2];
Run Code Online (Sandbox Code Playgroud)

声明fun是类型"指向void*大小为2的数组的指针".并fun new_array声明new_array属于这种类型.