【c++教程】2.5-数组类型

2021/9/18 17:05:32

本文主要是介绍【c++教程】2.5-数组类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

数组

如果每个数据,都需要一个新的变量才能保存的话,那么100个数据,就需要定义100个变量了。这显然不是我们希望的事情。因此,可以把单一的数据类型集合组在一起,也就是数组。

数组中可以保存多个数据,通过数据在数组中的位置来访问数据,也就是通过索引(下标)来进行访问。

定义一个数组

// 定义一个10个元素的数组
int arr[10];

按照规定来说,c++14以前,定义数组在指定元素个数的时候,必须使用一个常量表达式,非const变量不能用来定义数组。

const int a = 10;
int b = 10;

// a是一个const变量,可以
int arr1[a];

// b不是const变量,不可以
int arr2[b];

规定上应该是这样,但是真的使用的时候,会发现有些编译器确实可以不用常量表达式,也能正常定义和使用数组(这种实际情况和语法规则不符的事情,在c++中是常有发生的)。

定义数组的同时赋初值

#include <iostream>

using namespace std;

int main()
{
    // 使用花括号的形式,为数组赋初值
	int arr[3] = {1,2,3};

    // 如同代码中所看到的这样,数组是从0开始计数的
    // 也即第一个元素的下标为0
	cout << arr[0] << endl;
	cout << arr[1] << endl;
	cout << arr[2] << endl;

    // 在定义的时候如果就进行初始化,那么也可以不指定个数
    int arr2[] = {1,2,3}
}

注意:数组不可以用其他数组直接赋值,必须要按照顺序,把要拷贝的数组中的每一个元素都拷贝过去。

#include <iostream>

using namespace std;

int main()
{
    int arr1[3] = {1,2,3};

    // 这种赋值方式是不可以的
    // int arr2[3] = arr1;

    // 正确的赋值要像这样
    int arr2[3];
    arr2[0] = arr1[0];
    arr2[1] = arr1[1];
    arr2[2] = arr1[2];
    
    cout << arr2[0] << endl;
}

 



这篇关于【c++教程】2.5-数组类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程