首页 > 代码库 > C语言基础学习7:返回指针值的函数

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