函数指针

函数指针的定义与使用:
函数指针的定义:
typedef int *(*pf)(int,int);
说明:此时定义了一个pf类型的函数指针,该函数指针指向的函数返回int*类型参数类型为(int,int)的函数;
函数指针的声明:
pf p1;
函数指针的使用方法:
(*p)();//函数调用方式1
p(); //函数调用方式2

typedef int *(*pf)(void);

int e=5;
int * rea(void)
{
    int *p=&e;
    printf("rea();\n");
    return p;
}
int * reb(void)
{
    e--;
    int *p=&e;
    printf("rea();\n");
    return p;
}

void main()
{

    pf p1;
    p1=rea;
    (*p1)();
    p1();
}
//运行结果:
//rea();
//rea();

扩展:函数指针数组的定义与使用;

typedef int *(*pf)(void);

int e = 5;
int * rea(void)
{
    int *p = &e;
    printf("rea();\n");
    return p;
}
int * reb(void)
{
    int *p = &e;
    printf("reb();\n");
    return p;
}

void main()
{
    pf p1[2];
    p1[0] = rea;
    p1[1] = reb;

    p1[0]();
    p1[1]();
}

//运行结果:
//rea();
//reb();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值