【发布时间】:2013-06-27 20:58:32
【问题描述】:
在调用函数时
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)?
注意:我不知道指针。
【问题讨论】:
-
因为
b是变量名;括号是变量类型的一部分,不需要调用函数。 -
@RobI(
b[]是否应该通过? -
变量
b可以在编写时传递给函数 -sum_array(b,10)。没有必要(也不会工作)将b[]传递给函数。 -
是的.....这就是我的问题,为什么我不能通过
b[]? -
"why i can't pass b[]" --
b[]是一系列 3 个标记,不是你可以传递的那种东西。你要传递的是数组b,你可以使用它的名字b。
标签: c argument-passing function-parameter