调用函数
int sum_array(int array[], int arr_length)
{
int sum = 0;
while(--arr_length >= 0)
sum += array[arr_length];
return sum;
}
主要功能中的
int main()
{
int b[10];
...
total = sum_array(b,10);
...
}
为什么将参数b
而不是b[]
作为sum_array(b[],10)
传递?
注意:我不知道指针。
答案 0 :(得分:2)
在C中,数组作为指针传递给第一个元素。 b
的类型是数组。
传递b
时,实际上是将指针传递给数组的第一个元素。
答案 1 :(得分:1)
简答:因为b[]
语法无效。
下面
int b[10];
声明变量b
。 int [10]
是变量的类型。
由于函数接受标识符作为参数而不是类型,因此应将标识符传递给函数。标识符为b
。
它与指针无关。
答案 2 :(得分:0)
该函数期望指向int数组的指针,因此您需要将指针传递给数组的开头。 b[10]
指向十元素数组的第十一(!)索引。