返回指针的函数 ------ 指针函数(pointer function)

时间:2021-09-06 21:38:53

指针函数:

其本质是一个函数, 其函数返回值为某一类型的指针。

定义形式:

类型 *指针变量名(参数列表);

例如:

int *p(int i,int j);

p是一个函数名,该函数有2个整形参数,返回类型为int类型的指针返回类型为某一指针的函数也称为指针函数。

例1:

void main()

{

  int wk, dy;

  do{

    printf(Enter week(1-5)dey(1-7)\n);

    scanf(%d %d, &wk, &dy);

  }while(wk<1 || wk>5 ||dy<1 ||dy>7);

  printf(%d \n, *GetDate(wk, dy));

}

int * GetDate(int wk,int dy)

{

  static int calendar[5][7]=

  {

    {1,2,3,4,5,6,7},

    {8,9,10,11,12,13,14},

    {15,16,17,18,19,20,21},

    {22,23,24,25,26,27,28},

    {29,30,31,-1}

  };

  return &calendar[wk-1][dy-1];

}

程序中int *GetDate(int wk,int dy)为指针函数, 该函数返回值为int类型的指针(也就是地址)。