返回指针值的函数
2015-04-13 22:19
99 查看
返回指针型的数据 即地址
例如: int *(int x,int y), a是函数名,调用它以后能得到一个in * 指针,即整形数据的地址,x 和 y是函数a的形参为整数
定义返回指针的函数一般的形:
类型名 *函数名(参数列表);
下面通过一个例子来初步了解
例如: int *(int x,int y), a是函数名,调用它以后能得到一个in * 指针,即整形数据的地址,x 和 y是函数a的形参为整数
定义返回指针的函数一般的形:
类型名 *函数名(参数列表);
下面通过一个例子来初步了解
#include<stdio.h> int main() { float score[][4]={{50,70,80,90},{56,89,67,88},{34,78,90,66}}; float *search(float (*pointer)[4],int n);//函数声明 float *p; int i,k; printf("enter the number of student:"); scanf("%d",&k); printf("The scores of No.%d are:\n",k); p=search(score,k); //调用search函数 返回score[k][0]的地址 for(i=0;i<4;i++) printf("%5.2f\t",*(p+i)); printf("\n"); return 0; } float *search(float (*pointer)[4],int n) //形参pointer是指向包含4个元素的一维数组指针变量 { float *pt; pt=*(pointer+n); return (pt); }
#include<stdio.h> int main() { float score[][4]={{50,70,80,90},{56,89,67,88},{34,78,90,66}}; float *search(float (*pointer)[4]);//函数声明 float *p; int i,j; for(i=0;i<3;i++) //循环三次 { p=search(score+i); if(p==*(score+i)) //如果返回值是score[i][0]的地址 否则返回NULL { printf("No.%d score:",i); for(j=0;j<4;j++) printf("%5.2f ",*(p+j)); //输出core[i][0]~score[i][3]的值 printf("\n"); } } return 0; } float *search(float (*pointer)[4]) //形参pointer是指向包含4个元素的一维数组指针变量 { int i=0; float *pt; pt=NULL; for(;i<4;i++) if(*(*pointer+i)<60)pt=*pointer; //如果有不及格课程,使pt指向score[i][0] return (pt); }
相关文章推荐
- 【C语言】-返回指针的函数与指向函数的指针
- C++---从函数返回指针
- 函数返回值系列之一返回指针类型的局部变量
- C++ 函数返回指针注意事项
- 函数指针和返回函数指针的函数
- 关于函数指针数组与返回数组指针的函数
- 类成员函数返回(成员)函数指针,包装类调用外部类的成员方法
- 069.Pointer 指针作为函数的返回值
- 第4周 C语言及程序设计提高例程-7 返回指针的函数
- 关于函数返回值为指针类型的分析
- c语言指向函数的指针和返回指针的函数
- localtime函数中的返回指针的思考
- 返回指针值的函数小练习--处理学生成绩
- 【C语言】14-返回指针的函数与指向函数的指针
- c语言中函数返回局部变量的指针(一些容易犯错的地方)
- 函数的返回值是指针
- 编写一个名为my_strcpy_end的函数, 他返回一个指向目标字符串末尾的指针 (也就是说指向NUL字节的指针)
- 指针实现函数返回多个值
- 64位平台上,函数返回指针时遇到的段错误问题
- 返回指向局部变量指针的函数 与 返回局部变量引用的函数