diff options
author | Teddy <[email protected]> | 2014-05-07 03:17:32 +0800 |
---|---|---|
committer | Teddy <[email protected]> | 2014-05-07 03:17:32 +0800 |
commit | 52b29440f8f1310e0c074c8eb409e433c56bdd62 (patch) | |
tree | 6d91ceeb6594fe337541ed3f9f50cd33ee8881ca /compile_data/func_pointer.c | |
parent | 0ac22f0214ee283ce9bb053d691aeac823f875be (diff) |
rename
Diffstat (limited to 'compile_data/func_pointer.c')
-rw-r--r-- | compile_data/func_pointer.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/compile_data/func_pointer.c b/compile_data/func_pointer.c new file mode 100644 index 0000000..e7b6484 --- /dev/null +++ b/compile_data/func_pointer.c @@ -0,0 +1,19 @@ +typedef void (*Func_t)(); +void f(Func_t func, int step) { + if (!step) return; + printf("i'm f\n"); + func(func, step - 1); +} +void g(void (*func)(), int step) { + if (!step) return; + printf("i'm g\n"); + func(func, step - 1); +} +int main() { + void (*func)(void (*ifunc)(), int step); + int x = 1; + if (x) func = f; + else func = g; + func(func, 5); + return 0; +} |