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