#include <stdio.h>

int zfunc(int* i)
{
      printf("zfunc ausgeführt!\n");
      printf("Test %d \n" , *i);
      return 0;
}

int main()
{
     int a = 5;
     int (*f)();

     f = zfunc;

     printf("Rufe f, den pointer auf zfunc, auf:\n");
     f(&a);
     printf("returnwert\n%d\nAdresse von a\n%p\nAdresse f\n%p\nWert von f==Adresse von zfunc\n%p\nAdresse von zfunc\n%p",
     f(&a), (void*)&a, (void*)&f, (void*)f, (void*)zfunc);

     return 0;
}
