指针函数的问题,本质上还是函数,只不过返回的是一个指针,也就是说返回的是一个地址,该指针的具体类型都可以根据需要返回的类型去定义
普通版:
int *f_Max(int a,int b)
{
return a > b ? &a : &b;
}
int main(void)
{
int *p;
p = f_Max(5,10);
printf("%d\n",*p);
return 0;
}
精装版:
int *f_Max(int a,int *b)
{
return a > *b ? &a : b;
}
int main(void)
{
int *p;
p = (int *)malloc(sizeof(int));
*p = 10;
p = f_Max(5,p);
printf("%d\n",*p);
return 0;
}
豪华套餐版:
int *f_Max(int a,int **b)
{
*b = (int *)malloc(sizeof(int));
**b = 12;
return a > **b ? &a : *b;
}
int main(void)
{
int *p;
int *z;
p = f_Max(5,&z);
printf("%d\n",*p);
return 0;
}
返回什么类型,用什么类型接收