在编写程序的过程中我们不可能会一直处理单个的数据,大多数时候会将大量的数据同时进行处理,若是仅仅使用单个的变量就以为着会对每个数据进行命名,因此在C++中存在数组的概念
数组可以理解为数据的组合,由多个相同类型的数据组合而成,如图
在计算机中,在使用数组时计算机会为这个数组分配一定大小的连续空间,用来存储这些数据,数组中的这些内存连续分配在内存中的。
使用数组:
在C++中需要先声明数组,既然是数字的组合自然需要为其指定大小,即数组的格式为:类型 数组名字[数据数量];
用代码表示如下
int number[12];
这就是一种数组的声明方式,为int类型,数组名称是number,这个数组最多能够存储12个数据
int number[4] = {1, 2, 3, 4};
上述代码除了声明一个数组外还给数组做了初始化,将第一个到第四个变量分别用四个数字进行赋值
若在初始化时数据个数和数组大小不对应即下面这种情况
int number[4] = {1, 2};
此时,数组中只会将两个数字赋值给前面两个数据,剩余的变量会全部自动将数值大小设置为0。但是若在声明的时候没用初始化数据,内部的数据是不会自动初始化,只会输出一个错误的数字
数组在使用时可以通过下标找到对应的数值,但是要注意,下标并非从1开始,而是从0开始,如图:
好比number[0]表示的就是第一个数字,number[1]表示的就是第二个数字,number[1]这种数据其实就是一个变量,既然是变量就可以对其进行修改,将其作为普通的变量使用,如下:
#include <iostream>
using namespace std;
int main(){
int number[5] = {1, 2, 3, 4, 5};
cout << number[3] << endl;
number[3] = 1;
cout << number[3] << endl;
cout << number[0] << " "
<< number[1] << " " << number[2] << " "
<< number[3] << " " << number[4] << endl;
return 0;
}
使用数组后,就可以对字符串进行批量的输出和输入了:首先创建一个字符数组,然后将一定大小的字符串存在到字符数组中,同时,字符数组的初始化较为特别,处了可以使用之前的括号还可以用双引号包含,如下:
char str[] = "hello world";
char str1[20] = "hello zhangsan";
在上述代码中,可以看到第一含的括号中为填数字,这种情况下数组会依据出初始化的数据自动为其分配刚好合适的大小,但是这种方法就要求必须在申明的时候进行初始化,否则就会出错,而且对于字符串数组大小必须比字符串的总字符数(引号内的空格也算字符)大1,多出的最后一个字符变量,系统会为其自动初始化为'\0'作为字符串结束的标记
#include <iostream>
using namespace std;
int main(){
char name[12] = "hello world";
cout << name << endl;
return 0;
}