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来保存最大数的地址,从而求出最大数
我们不能将已经失效的地址作为返回值(这里是针对我们目前学习的自定义函数,因为自定义函数执行完就会释放内存空间,所有地址均失效)