C++ 数组
C++ 数组
数组用于在单个变量中存储多个值,而不是为每个值声明单独的变量。
要声明数组,请定义变量类型,指定数组名称,后跟 方括号,并指定它应该存储的元素数:
string cars[4];
我们现在声明了一个变量,它包含一个由四个字符串组成的数组。要向其中插入值,我们可以使用数组字面量——将值放在逗号分隔的列表中,放在大括号内:
string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
要创建一个包含三个整数的数组,可以编写:
int myNum[3] = {10, 20, 30};
访问数组元素
通过引用索引号访问数组元素。
此语句访问 cars 中 第一个 元素的值:
实例
#include <iostream>
#include <string>
using namespace std;
int main() {
string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
cout << cars[0];
return 0;
}
注意:数组索引以 0 开头:[0] 是第一个元素。[1] 是第二个元素,等等。
修改数组的元素
要更改特定元素的值,请使用索引:
实例
cars[0] = "Opel";
实例
#include <iostream>
#include <string>
using namespace std;
int main() {
string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
cars[0] = "Opel";
cout << cars[0];
return 0;
}
循环数组
可以使用 for
循环遍历数组元素。
以下示例输出 cars 数组中的所有元素:
#include <iostream>
#include <string>
using namespace std;
int main() {
string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < 4; i++) {
cout << cars[i] << "\n";
}
return 0;
}
下面的实例输出每个元素的索引及其值:
#include <iostream>
#include <string>
using namespace std;
int main() {
string cars[4] = {"Volvo", "BMW", "Ford", "Mazda"};
for (int i = 0; i < 4; i++) {
cout << i << ": " << cars[i] << "\n";
}
return 0;
}
省略数组大小
在 C++ 中,您不必指定数组的大小,这样的话,数组的大小就是其中元素的数量。
string cars[] = {"Volvo", "BMW", "Ford"}; // 数组长度是 3
当然您可以为了后面的扩展指定比数组元素长度更大的值:
string cars[5] = {"Volvo", "BMW", "Ford"}; // 这样数组的大小就是 5,尽管里面只有 3 个元素
然后可以添加第 4 和第 5 个元素,而不需要覆盖其他元素:
#include <iostream>
#include <string>
using namespace std;
int main() {
string cars[5] = {"Volvo", "BMW", "Ford"};
cars[3] = "Mazda";
cars[4] = "Tesla";
for(int i = 0; i < 5; i++) {
cout << cars[i] << "\n";
}
return 0;
}
省略声明中的元素
也可以在声明时声明数组而不指定元素,并在以后添加它们:
#include <iostream>
#include <string>
using namespace std;
int main() {
string cars[5];
cars[0] = "Volvo";
cars[1] = "BMW";
cars[2] = "Ford";
cars[3] = "Mazda";
cars[4] = "Tesla";
for(int i = 0; i < 5; i++) {
cout << cars[i] << "\n";
}
return 0;
}
获取数组大小/长度
若要获得 C++ 中数组的大小,可以使用 sizeof()
运算符,并将数组的大小除以数组中元素的大小(以字节为单位):
#include <iostream>
#include <string>
using namespace std;
int main() {
string cars[] = {"Volvo", "BMW", "Ford", "Mazda"};
int getArraySize = sizeof(cars) / sizeof(cars[0]);
cout << "Size of array is: " << getArraySize;
return 0;
}
还可以用它来查找具有保留空间的数组的大小:
#include <iostream>
#include <string>
using namespace std;
int main() {
string cars[8] = {"Volvo", "BMW", "Ford", "Mazda"};
int getArraySize = sizeof(cars) / sizeof(cars[0]);
cout << "Size of array is: " << getArraySize;
return 0;
}