提高篇 返回指针的函数

来源:互联网 发布:背叛了男朋友 知乎 编辑:程序博客网 时间:2024/06/05 16:33

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来保存最大数的地址,从而求出最大数

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




0 0