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

时间:2016-06-03 17:43:52

标签: c types definition

typedef double (*func_t) (double);

typedef struct symrec symrec;

symrec是先前定义的结构。但是funct_t在任何地方都没有提到,我不知道这是否有效,是什么意思。

我知道,我可以查看typedef的规格,但这需要很长时间,因为我没有这方面的经验。我想从一些有足够经验的人那里得到一些简单的解释。

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

1 个答案:

答案 0 :(得分:2)

typedef double(* func_t)(double);

这将命名一个类型func_t,它是一个函数指针,它接受一个类型为double的参数,并返回一个double类型的值。

typedef struct symrec symrec;

这会为名为struct symrec的{​​{1}}创建别名。因此,您可以执行symrecstruct symrec foo;,两者都具有相同的结果。