Ex15-함수 포인터 사용방법

CODEDRAGON Development/C, C++

반응형

   

함수 포인터 사용방법

포인팅 대상 함수

void add(double num1, double num2)

함수 포인터

void (*pointer)(double, double)

함수포인터에 함수 시작 주소 저장

pointer = add;

함수포인터를 이용한 함수 호출

pointer(3.1, 4.1);

   

   

메모리 구조

   

   

   

   

소스코드

   

#include <stdio.h>

void add(double num1, double num2);

int main( ) {
                double x=3.1, y=4.1;
                void (*pointer) (double, double);       //
함수 포인터 선언

                printf("add
함수의 주소 : %x\n", add);     // add 함수의 주소 출력
                printf("
함수 포인터의 주소 : %x \n", &pointer); // 함수 포인터의 주소 출력

                pointer=add;            //
함수 포인터 pointer 함수의 시작 주소 add 저장
                pointer(x, y);  //
함수 포인터를 이용한 호출

                return 0;
}

void add(double num1, double num2) {
                double result;
                result=num1+num2;
                printf("%lf + %lf = %lf \n", num1, num2, result);
}


 

   

출력결과