typedef struct Stack_t* Stack;
typedef void* Element;
typedef Element (*CopyFunction)(Element);
typedef void (*FreeFunction)(Element);
你能解释一下第三行的意思吗?
谢谢
最佳答案
这是一个函数指针
,您可以将函数寻址到接受Element
并返回Element
的函数,例如
Element ReturnElem(Element el){ } //define function
CopyFunction = ReturnElem; //assign to function pointer
Element el = ....;
Element el2 = CopyFunction(el); //call function using function-pointer
参见 here用于函数指针。
关于c - 在c中实现通用堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16170638/