数组不能按值传递给函数。但是,数组名是指针,因此将数组名传递给函数就是将指针传递给数组。
考虑以下程序:
int add_up (int *a, int num_elements);
int main() {
int orders[5] = {100, 220, 37, 16, 98};
printf("订单总数为 %d\n", add_up(orders, 5));
return 0;
}
int add_up (int *a, int num_elements) {
int total = 0;
int k;
for (k = 0; k < num_elements; k++) {
total += a[k];
}
return (total);
}
程序输出为:“订单总数为471”