来看看一个函数声明:
int sum_arr(int arr[], int n) //arr = array name, n = size
防护括号指出arr[ ]是一个数组,而方括号为空则表明,可以将任何长度的数组传递给该函数。但是实际情况并非如此:arr实际上并不是数组,而是一个指针!但是在编写函数其余部分时,可以将arr看作是数组。首先来看一个例子:
#include<iostream>
const int ArSize = 8;
int sum_arr(int arr[], int n);
int main()
{
int cookies[ArSize] = { 1, 2, 4, 8, 16, 32, 64, 128 };
int sum = sum_arr(cookies, ArSize);
std::cout << "Total cookies eaten: " << sum << "\n";
system("pause");
return 0;
}
int sum_arr(int arr[], int n)
{
int total = 0;
for (int i = 0; i < n; i++)
{
total += arr[i];
}
return total;
}
1. 函数如何使用指针来处理数组