C语言 在这种情况下,"typedef"是什么意思



我相信这个问题以前有人问过。但我想知道这段代码中的typedef是什么意思:

typedef long (*HASH_CONS_HASH)(void *);
typedef bool (*HASH_CONS_EQUAL(void *, void *));

到目前为止,我明白:

  • HASH_CONS_HASH是一个接受void*并返回long的函数
  • HASH_CONS_EQUAL是一个函数,它接受两个类型void*的参数并返回bool

但是typedef这里的意思是什么?有必要吗?

它声明函数指针类型

现在,您可以定义HASH_CONS_HASH func1;其中 func1 是指向返回 long 且不采用任何参数的函数的指针

HASH_CONS_EQUAL func2;其中func2是指向返回bool并将两个 void 指针作为参数的函数的指针。

相关内容

最新更新