函数的返回值可以是地址(指针类型),用户可以根据需要自定义返回值为地址的函数。
此时函数的定义形式为:
类型标识符 *函数名 (形参列表)
正确使用返回值为指针的函数,应有以下三点:
1.在函数定义时,通过在函数名前添加"*"指明函数返回值为地址值。
2.在函数返回值语句 return 中指明返回的地址值。
3.主函数中返回值的接收着也为指针类型。
//返回地址的函数演示
将两个整数中较大的那个数的地址作为返回值
#include<stdio.h>
int* bigger(int*, int*); //函数声明
int main()
{
int* p, a, b;
printf("请输入两个数:");
scanf_s("%d%d", &a, &b);
p = bigger(&a, &b); //函数引用
printf("第一个数为:%d,存储地址为:%p\n", a, &a);
printf("第二个数为:%d,存储地址为:%p\n", b, &b);
printf("较大的数为:%d,存储地址为:%p\n", *p, p);
return 0;
}
int* bigger(int* a, int* b) //函数定义
{
if (*a > *b)
return a;
else
return b;
}