指針函數:
其本質是一個函數, 其函數返回值為某一類型的指針。
定義形式:
類型 *指針變量名(參數列表);
例如:
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類型的指針(也就是地址)。