使用函數指針的例子

void display_year(char *str)
{
    printf("display %s/n", str);
}

void display_month(char *str)
{
    printf("display %s/n", str);
}

void display_day(char *str)
{
    printf("display %s/n", str);
}

void display(char *str, void (*call_back)(char *))
{
    call_back(str);
}

 

//直接使用變量方式
int test1()
{

    void (*call)(char *);   // 函數指針

    call = &display_year;   // 賦值
    call("year");           // 調用

    call = &display_month;  // 賦值
    call("month");          // 調用

    call = &display_day;    // 賦值
    call("day");            // 調用

}


//作爲參數傳遞方式
int test2()
{
    display("year", display_year);
    display("month", display_month);
    display("day", display_day);

}

發佈了26 篇原創文章 · 獲贊 5 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章