C语言指针函数的使用
如果函数可以返回数值型、字符型等数据,也可以带回指针型的数据,这种函数称为返回指针值的函数,又称指针型函数。
C语言指针函数定义形式为:
请看下面示例。
【示例1】找出两个数组中的最大值(返回指针的函数的应用)。C语言代码如下:
本例提出的引用方法可以给我们开发程序带来很大的便利,特别是需要调用函数返回多个返回值时,大家可以根据需要灵活使用。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
C语言指针函数定义形式为:
类型名*函数名(参数表列);
例如,下式表示的含义是 max() 函数调用后返回值的数据类型是整型指针:int *max(int *x, int *y);
请看下面示例。
【示例1】找出两个数组中的最大值(返回指针的函数的应用)。C语言代码如下:
#include <stdio.h>
#include <string.h>
/*返回指针的函数*/
int *max(int x[],int y[],int *p, int *c)
{
int i;
int *m=&x[0];
for(i=1;i<=9;i++)
{
if(*m<x[i])
{
*m=x[i];
*p=i;
*c=1;
}
}
for(i=0;i<=9;i++)
{
if(*m<y[i])
{
*m=y[i];
*p=i;
*c=2;
}
}
return m;
}
int main(void)
{
int c1[10]={1,2,3,4,5,6,7,8,9,0};
int c2[10]={11,12,13,14,15,16,17,18,19,10};
int n;
int c;
int *p;
p=max(c1,c2,&n,&c);
printf("两个数组中最大的是%d,在第%d个数组中位置是%d\n",*p,c,n); /*max()函数返回最大值*/
return 0;
}
运行结果:
两个数组中最大的是19,在第2个数组中位置是8
本例 max() 函数接收两个数组,求这两个数组中的最大值,并使用指针作为 max() 函数的返回值。函数只能有一个返回值,然而我们却偏偏希望返回给主函数 3 个值,还有两个值用来表示哪个数组哪个值最大,使用的方法称为引用。例如:
int n,c;
p=max(c1,c2,&n,&c); /*参数&n就是引用,用来接收形参*p*/
本例提出的引用方法可以给我们开发程序带来很大的便利,特别是需要调用函数返回多个返回值时,大家可以根据需要灵活使用。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
ICP备案:
公安联网备案: