weidu23 2021-12-23 20:29 采纳率: 0%
浏览 37

指针指向函数,那么需要free吗?

我们经常使用sturct,并在struct中添加..(*)(..)函数指针类型变量。例如

struct Global
{
    int *a;
    void(*func)(int); // 字符串处理
};
typedef struct Global Global;

void myFunc(int) ;
void intiMyGlobal(){
    Global * b = (Global*)malloc(sizeof(Global)) ; 
    b->func = myFunc ;
}

void myFunc(int i){
    //一堆代码;
}

如代码所属,有个问题想要请教:
当我们free(b)之前,我们是否需要先 free(b->func),还是说,不需要free掉b->func函数指针?为什么呢?

  • 写回答

1条回答 默认 最新

  • 狐狸小十 2021-12-24 12:26
    关注

    不能free,函数指针指向代码区函数入口
    试下就知道了,肯定会崩

    评论

报告相同问题?

问题事件

  • 创建了问题 12月23日

悬赏问题

  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口