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来保存最大数的地址,从而求出最大数
我们不能将已经失效的地址作为返回值(这里是针对我们目前学习的自定义函数,因为自定义函数执行完就会释放内存空间,所有地址均失效)
本文通过两个示例介绍了如何定义和使用返回指针的函数。首先展示了一个普通的函数来找出两个整数中的最大值,然后展示了如何修改该函数使其返回指向较大数值的指针。文中还强调了在自定义函数中返回指针时需要注意的问题。
429

被折叠的 条评论
为什么被折叠?



