提高篇 返回指针的函数

1.返回指针的函数

类型标识符 *函数名(形式参数表列)

例:

//求俩数最大值
#include <stdio.h>
int max(int x,int y)
{
    int t;
    if(x>y)
        t=x;
    else
        t=y;
    return t;
}
int main()
{
    int a,b,c;
    scanf("%d %d",&a,&b);
    c=max(a,b);
    printf("max=%d\n",c);
    return 0;
}
这是定义普通函数求俩数最大。

返回指针的函数举例:

代码:

//求俩数最大值
#include <stdio.h>
int *max(int *x,int *y)
{
    int *t;
    if(*x>*y)
        t=x;
    else
        t=y;
    return t;
}
int main()
{
    int a,b,*c;
    scanf("%d %d",&a,&b);
    c=max(&a,&b);//实参是地址
    printf("max=%d\n",*c);
    return 0;
}
其实没什么区别,只是对比第一个,我们现在是通过t来保存最大数的地址,从而求出最大数

我们不能将已经失效的地址作为返回值(这里是针对我们目前学习的自定义函数,因为自定义函数执行完就会释放内存空间,所有地址均失效)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值