C++ 数组初探一 函数传递数组

数组作为 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 是整数占用的内存大小。
而这个指针是指向数组的第一个元素的内存地址

由此我们即可以遍历数组进行求和运算并返回大小了

萌ICP备20241614号