数组c++介绍

数组,C++中非常重要的一部分。当我们想要使用几个数据时,多创建几个变量存储就行了。

比如:

cpp 复制代码
int ni,hao,wo,shi,zhou,xi;

有时候我们会发现数据范围达到了1000000......这是我们总不能像以下这样吧?

cpp 复制代码
int a1,a2,a3,a4,a5......a10000.....;

所以我们要用数组,创建一个普通的数组:

cpp 复制代码
int a[1001]={};

其中int是存储类型,a是数组名,1001是存储个数。

注意,数组的下标从0开始。

给某个数组的元素赋值:

cpp 复制代码
a[3]=666;

3是这个空间的下标,此时a[3]存储的就是666了。

假如我开了10个空间的数组,你却不能调用a[10],只能调用0~9为下标的数据,所以呢,数组下标从0开始,到n-1(n是开的空间大小)。

当我们需要大量读入数据,就可以借助循环帮助我们:

cpp 复制代码
int a[101],n = 100;
int main(){
    for(int i = 1;i <= n;i++){
        cin >> a[i];
    }
    return 0;
}

如果你想让数组里面本身存有数据,不需要一个个调用给数组赋值,可以:

cpp 复制代码
int a[10]={6,66,666,6666,66666,114,1145,114514,10086,4514};

数组的数据类型可以不是int,也可以是longlong、double、char、结构体等等。

以上说的数组,你都可以认为他们是一个火车,每个车厢里面有不同的数(也有可能是拥有100000节车厢的超长火车)。

这种数组呢,叫做一维数组,一维,就是一条线,很符合火车的特征。

所以,还有二维数组甚至更多维数组了,那二维数组如何创建呢?

cpp 复制代码
int a[11][11];

没错,之前我们是一列绿皮火车,现在是10列绿皮火车并驾齐驱!!!

前面的框框,是它的行号,后面的框框,是它的列号(当然可以不这么认为,某种角度看前面可以是列号)

读入呢,我们就需要双重循环帮助我们

cpp 复制代码
for(int i = 0;i <= 9;i++){
    for(int j = 0;j <= 9;j++){
        cin >> a[i][j];
    }
}

Copy

二维数组调用什么的,无非就是多出了一个下标,使用方法和一维数组相差不大。
所以,现在看看10层,每层10列绿皮火车并驾齐驱的场景吧

再整三维、四维、五维。。。就讲不完了,大家还是自己去研究会吧。

cpp 复制代码
int a[11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11]
[11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11]
[11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11][11];//一个65维数组!
相关推荐
mit6.82436 分钟前
[蓝牙通信] 临界区管理 | volatile | 同步(互斥锁与信号量) | handle
c++·物联网
一匹电信狗1 小时前
【C++】手搓一个STL风格的vector容器
c语言·数据结构·c++·算法·leetcode·stl·visual studio
重启的码农2 小时前
深入fecal实现 (6) 伽罗瓦域 GF(256) 运算
c++·网络协议
重启的码农2 小时前
深入fecal实现 (2) 编码器 (Encoder)
c++·网络协议
逝雪Yuki2 小时前
Leetcode——11. 盛最多水的容器
c++·算法·leetcode·双指针
小徐不徐说2 小时前
深入理解 Qt 信号与槽机制的底层逻辑
数据库·c++·qt·面试
大梦谁先行2 小时前
Qt写游戏脚本/辅助(仅供参考)
c++·qt·游戏
阳光_你好3 小时前
C++中析构函数为什么需要是虚函数
c++
小乖兽技术3 小时前
C#与C++交互开发系列(二十六):构建跨语言共享缓存,实现键值对读写与数据同步(实践方案)
c++·c#·交互
mrbone113 小时前
C++-关于协程的一些思考
开发语言·数据库·c++·c++20·协程·异步·coroutines