我們在使用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.這就表面明了,我們成功的調用了函數,並且成功的傳遞了參數進去。
