当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。
格式:
类型说明符 * 函数名(参数)
当然了,由于返回的是一个地址,所以类型说明符一般都是int。
例如:
int *GetDate(); int * aaa(int,int);
函数返回的是一个地址值,经常使用在返回数组的某一元素地址上。
int * GetDate(int wk,int dy); main()
{ int wk,dy;
do { printf("Enter week(1-5)day(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]; }{:2_30:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |