一道关于C语言的函数 指针问题,求解释

原题http://wenwen.sogou.com/z/q165685085.htm其中count(s,&lc,&dc,&sc,&oc);一句为什么lc,dc,sc,oc... 原题http://wenwen.sogou.com/z/q165685085.htm
其中 count(s, &lc, &dc, &sc, &oc); 一句为什么lc,dc,sc,oc前要加 &
s前为什么不加?
展开
 我来答
lygszmjj
推荐于2016-04-23 · TA获得超过1814个赞
知道小有建树答主
回答量:1192
采纳率:0%
帮助的人:411万
展开全部
函数原型为:void count(char *s, int *a, int *b, int *c, int *d)
调用函数时为:
int lc, dc, sc, oc;
......
count(s, &lc, &dc, &sc, &oc);
&是取地址运算符。这样就把整型变量lc, dc, sc, oc的地址传给count函数中。因为是传地址,所以这些变量对应的值在函数返回时可以带回到调用函数。
s是数组,S本身就是地址,所以可以直接传给指针。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pardream941026
2014-12-07 · TA获得超过8216个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1291万
展开全部
因为count函数的定义中,相应的参数使用了指针形式,而调用端的变量是基本数据类型,所以传递参数时候,要使用&符号,取得该变量的地址值,才可以传递缎带指针形式的参数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MeepoMiracle
2014-12-07 · TA获得超过161个赞
知道小有建树答主
回答量:246
采纳率:0%
帮助的人:138万
展开全部
count的参数是指针类型,要传地址,所以要加&
追问
那s前为什么不加
追答
s的定义是个数组,s代表数组的起始地址,它已经是个地址,不需要再加取地址符号&
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式