数组不能按值传递给函数。但是,数组名是指针,因此将数组名传递给函数就是将指针传递给数组。
考虑以下程序:
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”