1 #include <stdio.h>
2
3 typedef void (*PFUN)(void);
4
5 void fun()
6 {
7 printf("fun()/n");
8 }
9
10 int main()
11 {
12 PFUN pfun = fun;
13
14 pfun();
15 printf("pfun = %x/n", pfun);
16 (*pfun)();
17 printf("*pfun = %x/n", *pfun);
18 (*(*pfun))();
19 printf("*(*pfun) = %x/n", *(*pfun));
20 (*(*(*pfun)))();
21 printf("*(*(*pfun)) = %x/n", *(*(*pfun)));
22
23 return 0;
24 }
2
3 typedef void (*PFUN)(void);
4
5 void fun()
6 {
7 printf("fun()/n");
8 }
9
10 int main()
11 {
12 PFUN pfun = fun;
13
14 pfun();
15 printf("pfun = %x/n", pfun);
16 (*pfun)();
17 printf("*pfun = %x/n", *pfun);
18 (*(*pfun))();
19 printf("*(*pfun) = %x/n", *(*pfun));
20 (*(*(*pfun)))();
21 printf("*(*(*pfun)) = %x/n", *(*(*pfun)));
22
23 return 0;
24 }
~/testbench> gcc -o aa aa.c
~/testbench> ./aa
fun()
pfun = 80483f4
fun()
*pfun = 80483f4
fun()
*(*pfun) = 80483f4
fun()
*(*(*pfun)) = 80483f4