数组作为 C++ 中一种数据结构是用来存储一系列相同数据类型的数据,是由一组连续的内存位置排列而成的。
C++ 初始化数组通常有如下方法:
1
2
|
int arr[5];
int arr[5] = {1, 2, 7, 4, 5};
|
访问数组内容只需要如下:
1
2
3
4
5
|
int arr[5];
arr[3] = 3;
cout << arr[3];
|
以上输出3
。上述定义了一个长度为5
的整数型数组,并将第五项赋值 3,并输出数组第 3 项。
那么要如何向函数传递一个数组呢?
通常可以向函数传递数组的地址,另外还可以外加一个表示数值长度的整型变量。
如这个对数组内数据全部求和的程序:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <iostream>
using namespace std;
int sum(int *arr, int size);
int main(int argc, char *argv[]) {
int a[5] = {4, 3, 6, 2, 4};
int len = sizeof(a) / 4;
cout << sum(a, len) << endl;
return 0;
}
int sum(int *a, int size){
int num = 0;
for (int i = 0; i < size; i++){
num = num + a[i];
}
return num;
}
|
我们声明了一个叫 sum 的函数,参数有一个指针和整数型变量
这个 size
的整数型变量是数组的长度,整数型数组的长度可由 sizeof(arr) / 4
得到。其中 4
是整数占用的内存大小。
而这个指针是指向数组的第一个元素的内存地址
由此我们即可以遍历数组进行求和运算并返回大小了