回調函數有參數和無參數的例子

#include

void func()
{
    printf("I love you \n");
}

void caller(void(*ptr)())
{
    printf("My name is callback\n");
    ptr();
}

int abc(int a)
{
    printf("a = %d\n", a);
    return a;
}

int caller1(int(*qtr)(int))
{
    printf("I am callback\n");
    int b = 9;
    return qtr(b);
}

int main(void)
{
    void (*p) ();//申明p是指向某個指向沒有參數,沒有返回值的函數指針
    int (*q)(int);//申明q是指向某個有一個int型參數,返回值爲int型的函數指針
    int m;

    p = func;//賦值
    q = abc;//賦值
    caller(p);//回調函數
    m = caller1(q);//回調函數
    printf("m = %d\n", m);
    
    return 0;
}


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