我确信这个问题已经被问过了。但是我想知道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
在这里是什么意思?有必要吗?
答案 0 :(得分:1)
它声明函数指针 type 。
现在您可以定义HASH_CONS_HASH func1;
,其中func1是指向返回长且不带任何参数的函数的指针
或
HASH_CONS_EQUAL func2;
,其中func2
是指向返回bool
并以两个void指针作为参数的函数的指针。