码迷,mamicode.com
首页 > 其他好文 > 详细

返回指针值的函数

时间:2015-04-14 00:23:07      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

返回指针型的数据 即地址

  例如: 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);
}

 

 

返回指针值的函数

标签:

原文地址:http://www.cnblogs.com/tchjs/p/4423491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!