Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C “typedef”在这里是什么意思_C_Typedef - Fatal编程技术网

C “typedef”在这里是什么意思

C “typedef”在这里是什么意思,c,typedef,C,Typedef,我相信这个问题以前有人问过。但是我想知道在这个代码中,typedef是什么意思: typedef long (*HASH_CONS_HASH)(void *); typedef bool (*HASH_CONS_EQUAL(void *, void *)); 据我所知: HASH\u CONS\u HASH是一个函数,它接受void*并返回long HASH_CONS_EQUAL是一个函数,它接受两个类型为void*的参数并返回bool 但是这里的typedef是什么意思?有必要吗?它声明

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

typedef long (*HASH_CONS_HASH)(void *);
typedef bool (*HASH_CONS_EQUAL(void *, void *));
据我所知:

  • HASH\u CONS\u HASH
    是一个函数,它接受
    void*
    并返回
    long
  • HASH_CONS_EQUAL
    是一个函数,它接受两个类型为
    void*
    的参数并返回
    bool

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

它声明函数指针类型

现在您可以定义
HASH\u CONS\u HASH func1其中func1是指向返回long且不接受任何参数的函数的指针


HASH_CONS_EQUAL func2
其中
func2
是一个指针,指向返回
bool
并以两个空指针作为参数的函数。

没错,我花了10秒钟才找到许多关于typedef的问题。VTC是重复的,重复的,重复的。typedef允许人们使用,例如,任何符合条件的函数指针可以分配到的类型的变量。不,这个问题不是关于“typedef struct”,粗略阅读就会发现。投票重新打开了糟糕的关闭。(可能还有其他副本,但不是这个。)