在结构体中添加成员函数/C++

我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结构体中添加成员变量呢

  在C语言的结构体中是不能直接定义成员函数的,这点和C++不同,但是我们可以通过定义一个函数指针的方式来指向一个方法。

  示例代码如下:

#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
    int a;
    void(*p)(int b);
}no;

void fun(int b)
{
    printf("hello,%d\n",b);
}

int main()
{
    no a = { 1,fun };

    a.p(a.a);
    system("pause");
    return 0;
}

  这段代码运行出来,控制台会打印出hello,1.这就表面明了,我们成功的调用了函数,并且成功的传递了参数进去。

原文链接: https://www.cnblogs.com/jaszzz/p/12894136.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    在结构体中添加成员函数/C++

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/197357

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午7:32
下一篇 2023年2月12日 下午7:32

相关推荐