非静态函数调用static函数的方式
1. 如果直接调用的话,会报错误;
2. 可以间接调用
```
test.h
1 #ifndef _TEST_H
2 #define _TEST_H
3
4 struct myfunc {
5 void (*f)();
6 };
7
8 void hello();
9 static void world();
10
11 void use_static(struct myfunc *func);
12 #endif
test.c
1 #include <stdio.h>
2 #include "test.h"
3
4 static void world()
5 {
6 printf("This is static func.\n");
7 return ;
8 }
9
10 void hello()
11 {
12 world();
13 }
14
15 void use_static(struct myfunc *func)
16 {
17 func->f = world;
18
19 return ;
20 }
main.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include "test.h"
5
6 int main()
7 {
8 struct myfunc func;
9 /* hello(); */
10 //world();
11 //
12 use_static(&func);
13
14 func.f();
15 return 0;
16 }
```