#include void test(int *a) { printf("%d\n", *a); } typedef void func(int *a, int *b, int *c); int main(void) { int a = 1, b = 2, c = 3; func *f = (func *)test; f(&a, &b, &c); f(&b, &a, &c); f(&c, &b, &a); }