数组名作为被调用函数入口参数时定义为指针,那么在被调用函数中该数组的含义是什么?

voidmax_min_value(int*number,intn){intt,*p,*max,*min;max=min=number;//这里的number是指numb... void max_min_value(int *number,int n)
{
int t,*p,*max,*min;
max=min=number; //这里的number是指number指针的首地址
for(p=number+1;p<number+n;p++) //这里也指地址
{
if(*p<*min)min=p;
else if(*p>*max)max=p;
}
t=*min;*min=*p;*p=t;
if(max==number)max=min; //这里也指地址
t=*max;*max=number[n-1];number[n-1]=t; //???这里*max是值,为什么用
number[n-1],而不是*number[n-1]
for(p=number;p<number+n;p++)
printf("%d ",*p);
}

我写成*number[n-1] 报错为[Error] invalid type argument of unary '*' (have 'int')
展开
 我来答
yzjxbin76
2019-12-28 · TA获得超过123个赞
知道小有建树答主
回答量:251
采纳率:67%
帮助的人:64.1万
展开全部
因为number是指针变量,按照C语言的语法,number[n-1]转化为*(number+n-1)。所以前面不必再加*号取值了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式