티스토리 뷰

반응형

youtu.be/_uOt784DkuA

모든 강의 자료 : www.codingnow.co.kr/

함수포인터를 사용하여 함수를 호출하고 결과를 얻어오는 예제를 통해

포인터의 쓰임새를 알아봅니다.

 

자세한 사항은 첨부된 동영상을 참고해 주세요.

 

다음은 함수포인터를 선언하고 함수를 호출하는 예제입니다.

#include <stdio.h>

float add(int val1, int val2)
{
    printf("add = ");
    return val1+val2;
}

float mul(int val1, int val2)
{
    printf("mul = ");
    return val1 * val2;
}

void main(void)
{
    int (*fp)(int, int);
    int ret = 0;
    fp = add;
    ret = fp(3, 4);
    printf("sum = %d\n", ret);
    fp = mul;
    ret = fp(3, 4);
    printf("mul = %d\n", ret);
}

다음은 함수호출을 배열형태로 선언하여 반복문을 통해 함수를 호출하는 예제입니다.

 

#include <stdio.h>

float add(int val1, int val2)
{
    printf("add = ");
    return val1+val2;
}

float mul(int val1, int val2)
{
    printf("mul = ");
    return val1 * val2;
}

float div(int val1, int val2)
{
    printf("div = ");
    return (float)val1 / val2;
}

void main(void)
{
    float (*funs[])(int, int) = {
        add,
        mul,
        div
     };

    for(int i=0; i<3; i++)
    {
        printf("%.2f\n", funs[i](3, 4));
    }
}

포인터를 사용하여 함수를 호출하여 C언어의 확장성을 확인 할 수 있습니다.

반응형