这些 typedef 在 C 中意味着什么?他们在宣告什么?

What do these typedefs mean in C ? What are they declaring?

typedef double (*func_t) (double);

typedef struct symrec symrec;

symrec 顺便说一下,它是一个先前定义的结构。但是 funct_t 没有在任何地方提到,我不知道这是有效的,是什么意思。

我知道我可以查看 typedef 的规范,但这需要很长时间,因为我没有这方面的经验。我只是希望有足够经验的人提供一些简单的解释。

我不是 C 的新手,但从来没有遇到过这个。

typedef double (*func_t) (double);

这命名了一个类型func_t,它是一个函数指针,它接受一个double类型的参数和returns一个double.[=17类型的值=]

typedef struct symrec symrec;

这为 struct symrec 创建了一个名为 symrec 的别名。因此,您可以执行 struct symrec foo;symrec foo;,两者都具有相同的结果。