C语言基础学习7:返回指针值的函数

一个函数可以返回一个整型值、字符值、实型值等,也可以返回指针型的数据,即地址,返回的是指针类型。

返回指针值的函数的一般定义形式为;

数据类型 *函数名(参数列表)

例如: int *a(int x, int y);

a作为函数名,调用它之后能得到一个指向整型数据的指针(地址)。

()优先级高于*,因此a先与()结合,这是函数形式,返回值为指针形式。

 1 #include <stdio.h>
 2 float *search(float (*pointer)[4]);
 3 float *search(float (*pointer)[4])
 4 {
 5     int i;
 6     float *pt;
 7     pt = *(pointer+1);
 8     for(i=0;i<4;i++)
 9         if(*(*pointer+i)<60)
10         pt = *(pointer);
11     return pt;
12 }
13 void main()
14 {
15     float score[][4] = {{60,70,80,90},{56,89,67,88},{34,78,90,66}};
16     float *p;
17     int i,j;
18     for(i=0;i<3;i++)
19     {
20         p = search(score+i);
21         if(p==*(score+i))
22         {
23             printf("No.%d scores:",i);
24             for(j=0;j<4;j++)
25                 printf("%5.2f ",*(p+j));
26             printf("\n");
27         }
28     }
29 }
View Code

posted on 2014-07-20 13:35  Iambitiousman  阅读(976)  评论(0编辑  收藏  举报

导航