- #include<stdio.h>
-
- typedef struct node
- {
- int a;//4
- int (*fun)(void);
- }Node;
-
- int test()
- {
- printf("hello world\n");
- return 1;
- }
-
- int main()
- {
- Node a;
- a.fun=test;
- printf("sizeof Node is %d\n",sizeof(a));//16
- (*a.fun)();
- }
4,不够4补齐
上面简单的写了指针结构体用法,其中int(*fun)(void),表示一个类型的函数指针,不能写成int fun(void)这样 这表示一个函数 ,test函数名就是一个指针,指针的内容指向指针本身