函数指针

#include<stdio.h>

void funa();
int funx( int num );
void(* funxx(  void(*pfun)()  ) )();

typedef void(*ppp)();
ppp funxxx(ppp p);

int main()
{
    int shu = funx(99);
    printf("%d\n",shu);

    void(*p)() = funxx(&funa);
    (*p)();

    ppp p1 = funxxx(&funa);
    (*p1)();
    return 0;
}

ppp funxxx(ppp p)
{
    return p;
}

//  funxx()
//  void(*pfun)()
//  void(*)()
void(* funxx(  void(*pfun)()  ) )()
{
    return pfun;
}

int funx( int num )
{
    return num;
}

void funa()
{
    printf("void funa()\n");
}

#include<stdio.h>

typedef void (*PFUN)();
PFUN funFUN(PFUN p)
{
    return p;
}
void funa()
{
    printf("void funa()\n");
}
void funb(void (*p)())
{
    (*p)();
}
void (*funx(void (*p)())   )()
{
    return p;
}
int main()
{
    funb(&funa);
    void (*p)()=funx(&funa);
    (*p)();
    PFUN p1=funx(&funa);
    (*p1)();
    return 0;
}

你可能感兴趣的:(函数指针)