diff --git a/pointer/test5.c b/pointer/test5.c index 804a0131f46f2b8d75c3d50d1b8dcf8ed51a5e64..6b4ca25cb326104a32d266847ce67a7907a1652e 100644 --- a/pointer/test5.c +++ b/pointer/test5.c @@ -16,7 +16,6 @@ int main() //int (*f)(int); int (*f[4])(int) = {f10, f5, f1, f22}; printf("%d\n", f[2](10)); - printf("%d\n", f[b%4](10)); //f = f10; //f= &f10을 해도 똑값다 //printf("%d\n", f(a)); diff --git a/pointer/test6.c b/pointer/test6.c index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..023c1bdeb055d29e3f70a9c9e97d28ed878f3d28 100644 --- a/pointer/test6.c +++ b/pointer/test6.c @@ -0,0 +1,24 @@ +#include <stdio.h> + +int f10(int a) +{ return a+10; } +int f5(int a) +{ return a+5; } +int f1(int a) +{ return a+1; } +int f22(int a) +{ return a+22; } + + + +int main() +{ + double (*f[10])(int const *a, double (*g[10])(double h)); + int (*q)(int, int, double); + + int a = 200; + int (*ff)(int); + ff = f10; + printf("%d\n", ff(a)); + +} diff --git a/pointer/test7.c b/pointer/test7.c index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0d5daa047e9ea2f6f99a1f82cb56fced2360b8ab 100644 --- a/pointer/test7.c +++ b/pointer/test7.c @@ -0,0 +1,15 @@ +#include <stdio.h> + +float f_f() {return 100.0; } +int f_i() {return 100; } + + +int main() +{ + int (*f)(void); + float (*ff)(void); + f = f_i; + printf("%d\n", f()); + ff = f_f; + printf("%f\n", ff()); +}