C語言 指向函數的指針

//
//  main.c
//  c_test2
//
//  Created by vincent_guo on 13-3-26.
//  Copyright (c) 2013年 vincent_guo. All rights reserved.
//

#include <stdio.h>
//函數指針
int sum(int a,int b){
    return a + b;
}

int minus(int a,int b){
    return a - b;
}

//(*p)(int,int)指向函數的指針
int computer(int a,int b,int (*p)(int,int)){
    return (*p)(a,b);
}


int main(int argc, const char * argv[])
{
    printf("------------------------------\n");
    // 定義一個指針變量p,指向sum函數
    int (*p)(int,int) = minus;
    int result = computer(112, 12,minus);
   
    printf("computer result: %d\n",result);
    result = computer(112, 12,sum);
    printf("computer result: %d\n",result);
   
    result = (*p)(112,12);
    printf("computer result: %d\n",result);

    
    return 0;
}


運行結果:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章