这个typedef语句做什么?

What does this typedef statement do?

本文关键字:什么 语句 typedef 这个      更新时间:2023-10-16

我正在浏览一些代码,我不能理解下面的代码。它是做什么的?这是什么意思?

typedef void*(*fun)[2];
fun new_array;

好,基本上,这就是typedef的工作原理:首先想象typedef不存在。剩下的应该声明一个或多个变量。typedef所做的是这样做,如果您声明类型为T的变量x,而不是将x声明为类型T的别名。

所以考虑:

void*(*fun)[2];

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

typedef void*(*fun)[2];

声明fun的类型为"指向void*的大小为2的数组的指针"。fun new_array声明new_array为该类型

按照顺时针/螺旋规则,fun是指向一个包含两个指向void的指针的数组的指针。