프로그래밍/C

Function pointers, callbacks

knxwledge 2026. 7. 11. 18:14

Ex1

#include <stdio.h>

int add(int x, int y){
    return x+y;
}

int sub(int x, int y){
    return x-y;
}

int mult(int x, int y){
    return x*y;
}

int calc(int x, int y, int (*op)(int,int)){
    return op(x,y);
}

int main(void){
    int z = calc(3,2,add);
    printf("%d\n",z);
    return 0;
}

 

Ex2

The same as above, but with typedef.

#include <stdio.h>

typedef int (*opt)(int, int);

int add(int x, int y){
    return x+y;
}

int sub(int x, int y){
    return x-y;
}

int mult(int x, int y){
    return x*y;
}

int calc(int x, int y, opt op){
    return op(x,y);
}

int main(void){
    int z = calc(3,2,add);
    printf("%d\n",z);
    z = calc(3,2,sub);
    printf("%d\n",z);
    z = calc(3,2,mult);
    printf("%d\n",z);
    return 0;
}

'프로그래밍 > C' 카테고리의 다른 글

C 코드를 어셈블리로 컴파일하기  (0) 2026.08.01
Weak symbols  (0) 2026.07.11
strtok  (0) 2026.04.22