[ create a new paste ] login | about

Link: http://codepad.org/hfnT13zf    [ raw code | output | fork ]

C, pasted on Aug 7:
#include <stdio.h>

typedef struct {
    int (*func)(int);
    int arg;
} sfunc;

int func1(int);
int func2(int);
int func3(int);

int main(void)
{
    int i;
    sfunc sfunc[] = {{func1, 10}, {func2, 20}, {func3, 30}};

    for (i = 0; i < 3; i++)
        (*sfunc[i].func)(sfunc[i].arg);

    return 0;
}

int func1(int i)
{
    printf("%d * 2 = %d\n", i, i * 2);
    return 0;
}

int func2(int i)
{
    printf("%d * 5 = %d\n", i, i * 5);
    return 0;
}

int func3(int i)
{
    printf("%d * 10 = %d\n", i, i * 10);
    return 0;
}


Output:
1
2
3
10 * 2 = 20
20 * 5 = 100
30 * 10 = 300


Create a new paste based on this one


Comments: