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

2025-05-13 07:41:32
推荐回答(3个)
回答(1):

函数原型为: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本身就是地址,所以可以直接传给指针。

回答(2):

因为count函数的定义中,相应的参数使用了指针形式,而调用端的变量是基本数据类型,所以传递参数时候,要使用&符号,取得该变量的地址值,才可以传递缎带指针形式的参数。

回答(3):

count的参数是指针类型,要传地址,所以要加&