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笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。