函数指针和指针函数

1.函数指针

函数指针是指向函数的指针变量,即本质是一个指针变量。

例如:

int (*f)(int x);

double (*ptr)(double x);

例如

 

#include <stdio.h>

int  max(int   a,int   b)
{
    if(a>b)
        return a; 
    else 
        return b; 
}

int main()
{
    int(*pmax)();
    int  x,y,z;
    pmax=max;
    printf( "input   two   numbers:\n"); 
    scanf("%d%d",&x,&y);
    z=(*pmax)(x,y); 
    printf( "maxmum=%d ",z); 

    return 0;
} 

 

 

 

2.指针函数

它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变量来接受,也就是说,指针函数一定有函数返回值,而且,在主调函数中,函数返回值必须赋给同类型的指针变量。

例如,

int func(int x);   /* 声明一个函数 */

int (*f) (int x);    /* 声明一个函数指针 */

f=func;            /* 将func函数的首地址赋给指针f */

 

例如

 

#include <stdio.h>

int *pmax(int *a,int *b)
{
    if (*a > *b)
        return a;
    else 
        return b;
}

int main()
{
    int x,y,z;
    printf("input two numbers\n");
    scanf("%d%d",&x,&y);
    z = *pmax(&x,&y);
    printf("maxmum=%d\n",z);

    return 0;
}

 

转载于:https://www.cnblogs.com/tootti/archive/2012/04/15/2449023.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值