打印
[C语言]

C语言结构体中的变量如何被结构体内函数调用?

[复制链接]
2515|21
手机看帖
扫描二维码
随时随地手机跟帖
楼主
keer_zu| | 2022-1-20 09:01 | 显示全部楼层 回帖奖励 |倒序浏览
要么用C++,要么传进去void 指针,在里面强制转化回来。
typedef struct
{
        int x,y;
        int (*add)(void *param);
}demo_s


int add(void *param)
{        demo_s *demo = (demo_s *)param;

        return demo->x + demo->y;
}

调用:

int main()
{
    int ret;

    demo_s demo = {
        .x = 20,
        .y = 15,
        .add = add;
    };

    ret = demo.add(&demo);
}

使用特权

评论回复
沙发
keer_zu| | 2022-1-20 09:06 | 显示全部楼层
可以到我的个人版里看看,里面有很多类似例子
https://bbs.21ic.com/iclist-466-1.html

使用特权

评论回复
板凳
keer_zu| | 2022-1-20 09:08 | 显示全部楼层

使用特权

评论回复
地板
keer_zu| | 2022-1-21 14:45 | 显示全部楼层
xyz549040622 发表于 2022-1-20 11:41
大家各种秀技,表示这样太复杂了。

没有复杂啊?变量散得到处都是才复杂,最后自己都蒙圈了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则