编程语言专题《开发篇,C语言实现面向对象的方法》

对比C和C++,C语言的结构体的确有点类似C++类的概念,可使用结构体内嵌指针实现面向对象编程

总体来说,C语言是面向过程的,但是C语言写出的Linux系统是面向对象的。非面向对象的语言,其实也是可以使用面向对象的思路来编写程序的。只是说用面向对象的语言来实现面向对象编程会更简单一些,但是C语言的高效性是其他面向对象编程语言无法比拟的。当然使用C语言来实现面向对象的开发相对不容易理解,这就是为什么大多数人学过C语言却看不懂Linux内核源码。

struct obj
{
    int age;
    void (*pFunc)(void);
};

使用这样的结构体就可以实现面向对象,这样包含了函数指针的结构体就类似于面向对象中的CLASS,结构体中的变量类似于CLASS中的成员变量,结构体中的函数指针类似于CLASS中的成员方法。

其实大部分的底层代码都是使用面向对象的方法来封装,例如:Linux内核、其他SDK底层代码等 

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网研究室BBC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值