对于我正在编写的一些代码,我有一个函数指针.我使用它已经有一段时间了,但我不知道是否需要显式释放指针.这是我的代码的简化版本
struct Person
{
void (*action) ();
}
void action()
{
printf("Action has been called\n");
}
int main()
{
Person p;
p->action = &action;
// My question is whether or not I need to do this
// free (p->action);
// p->action = NULL;
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有一个函数指针.我使用它已经有一段时间了,但我不知道是否需要显式释放指针.
不.你不需要释放任何东西free()
,你从来没有动态分配malloc()
或类似.
事实上,使用创建函数指针实际上是不可能的malloc()
.