分享一个比较有意思的程序写法 有点类似面向对象编程
利用指针
结构体中定义函数指针
结构体初始化的时候 把函数名赋值(函数名相当于函数的首地址)
然后直接调用结构体成员即可
#include <stdio.h>
int printf11(void);
int printf22(void);
int printf33(void);
//定义结构体
typedef struct
{
int a;
char b[10];
int (*printf1)(void);
int (*printf2)(void);
int (*printf3)(void);
/* data */
}hanshu;
int printf11(void)
{
printf("hanshu1\n");
return 0;
}
int printf22(void)
{
printf("hanshu2\n");
return 0;
}
int printf33(void)
{
printf("hanshu3\n");
return 0;
}
int main()
{
//初始化结构体
hanshu ltz=
{
10,
"ltz",
printf11,
printf22,
printf33
};
printf(" %d\n",ltz.a);
printf( "%s\n",ltz.b);
ltz.printf1();
ltz.printf2();
ltz.printf3();
return 0;
}