pau 打印 log print class 控制 stdio.h 语言
我们在使用 C 语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在 C 语言结构体中添加成员变量呢
在 C 语言的结构体中是不能直接定义成员函数的,这点和 C++ 不同,但是我们可以通过定义一个函数指针的方式来指向一个方法。
示例代码如下:
- 1#include
- 2#include
- 3typedefstruct node
- 4 {
- 5 int a;
- 6 void(*p)(int b);
- 7 }no;
- 8
- 9 voidfun(int b)
- 10 {
- 11printf("hello,%d\n",b);
- 12 }
- 13
- 14 int main()
- 15 {
- 16no a = {1,fun };
- 17
- 18 a.p(a.a);
- 19system("pause");
- 20 return 0;
- 21}
这段代码运行出来,控制台会打印出 hello,1. 这就表面明了,我们成功的调用了函数,并且成功的传递了参数进去。
在 C 语言结构体中添加成员函数
来源: http://www.bubuko.com/infodetail-2056075.html