I am sure this question has been asked before. But I am wondering what does the typedef mean in this code:
typedef long (*HASH_CONS_HASH)(void *);
typedef bool (*HASH_CONS_EQUAL(void *, void *));
So far I understand:
HASH_CONS_HASHis a function that takes avoid*and returnslongHASH_CONS_EQUALis a function that takes two arguments of typevoid*and returnsbool
But what does typedef mean here? is it necessary?