c++基础——数组
创始人
2024-05-27 20:02:03
0

数组

数组是存放相同类型对象的容器,数组中存放的对象没有名字,而是要通过其所在的位置访问。数组的大小是固定的,不能随意改变数组的长度。

定义数组

数组的声明形如 a[b],其中,a 是数组的名字,b 是数组中元素的个数。

int d1 = 50;
const int d2 = 50;
int arr1[d1];  // 错误:d1 不是常量表达式
int arr2[d2];  // 正确:arr2 是一个长度为 42 的数组
int arr3[50];  //当然这种也可以

不能将一个数组直接赋值给另一个数组:

int arr1[3];
int arr2 = arr1;  // 错误
arr2 = arr1;      // 错误

应该尽量将较大的数组定义为全局变量。因为局部变量会被创建在栈区中,过大(大于栈的大小)的数组会爆栈,进而导致 RE。如果将数组声明在全局作用域中,就会在静态区中创建数组。

访问数组元素

可以通过下标运算符 [] 来访问数组内元素,数组的索引(即方括号中的值)从 0 开始。以一个包含 10 个元素的数组为例,它的索引为 0 到 9,而非 1 到 10。但在 OI 中,为了使用方便,我们通常会将数组开大一点,不使用数组的第一个元素,从下标 1 开始访问数组元素。

例 1:从标准输入中读取一个整数n,再读取n个数,存入数组中。其中,n<=1000。

#include 
using namespace std;int arr[1001];  // 数组 arr 的下标范围是 [0, 1001)int main() {int n;cin >> n;for (int i = 1; i <= n; i++) {cin >> arr[i];}
}

例 2:求和数组 arr 中的元素,并输出和。

#include 
using namespace std;int arr[1001];int main() {int n;cin >> n;for (int i = 1; i <= n; ++i) {cin >> arr[i];}int sum = 0;for (int i = 1; i <= n; ++i) {sum += arr[i];}cout<

越界访问下标

数组的下标n应当满足0<=n<边界

多维数组

多维数组的实质是「数组的数组」,即外层数组的元素是数组。一个二维数组需要两个维度来定义:数组的长度和数组内元素的长度。访问二维数组时需要写出两个索引:

int arr[3][4];  // 一个长度为 3 的数组,它的元素是「元素为 int 的长度为的 4 的数组」arr[2][1] = 1;  // 访问二维数组

我们经常使用嵌套的 for 循环来处理二维数组。

例:从标准输入中读取两个数n和m,分别表示黑白图片的高与宽,满足n,m<=1000。对于接下来的n行数据,每行有用空格分隔开的m个数,代表这一位置的亮度值。现在我们读取这张图片,并将其存入二维数组中。

const int maxn = 1001;
int arr[maxn][maxn];
int n, m;cin >> n >> m;
for (int i = 1; i <= n; ++i)for (int j = 1; j <= m; ++j) cin >> arr[i][j];

相关内容

热门资讯

高考积累作文素材(优选6篇) 高考积累作文素材 篇一标题:人工智能对教育的影响随着科技的不断进步和发展,人工智能(Artifici...
高考满分作文议论文【精彩6篇... 高考满分作文议论文 篇一:教育应该注重学生的创造力和创新能力发展在当今社会,创造力和创新能力被认为是...
高考话题作文:我不是人(精简... 高考话题作文:我不是人 篇一我不是人,我是梦想的化身高考,是每个学生都不能回避的话题。对我来说,高考...
高考满分作文:耕耘与收获【优... 高考满分作文:耕耘与收获 篇一耕耘与收获每个人都有自己的梦想,而高考则是实现梦想的一道关卡。为了这个...
全国高考优秀作文【优秀6篇】 全国高考优秀作文 篇一我所追求的幸福生活幸福生活是每个人都追求的目标。然而,对于不同的人来说,幸福的...
优选适合看的高考青春电影【精... 优选适合看的高考青春电影 篇一高考是每个学生人生中的重要时刻,也是一段充满压力和挑战的时期。在这个阶...
2000春季高考作文范文5篇... 2000春季高考作文范文5篇 篇一标题:追求梦想的勇气与决心在我们的生命中,梦想是一种强大的力量,它...
搞掂高考政治的独门秘籍(精选... 搞掂高考政治的独门秘籍 篇一高考政治作为高考科目之一,对于很多学生来说是一个难点。但是只要你了解了一...
高考题英语作文范文13篇【精... 高考题英语作文范文13篇 篇一:The Importance of Time ManagementT...
高考时事热点素材:动车上该不... 高考时事热点素材:动车上该不该让座 篇一随着社会的进步和人们生活水平的提高,高速铁路逐渐成为人们出行...
表高考决心的作文【优秀6篇】 表高考决心的作文 篇一高考决心,决定命运高考,是每个学生人生中的一次重要考试,更是一场能够决定命运的...
高考小说文学常识【优秀3篇】 高考小说文学常识 篇一高考小说文学常识是指在高考中出现的与小说文学相关的知识点和考点。在高考语文考试...
高考英语作文农场采摘范文【精... 高考英语作文农场采摘范文 篇一Farm Picking ExperienceLast summer,...
浙江高考作文题目解析及【经典... 浙江高考作文题目解析及 篇一:探讨网络教育对传统教育的影响随着互联网的快速发展和智能手机的普及,网络...
高考写作素材之恰到好处【经典... 高考写作素材之恰到好处 篇一恰到好处的沟通方式在现代社会中,人们之间的交流和沟通显得尤为重要。无论是...
化学高考教研活动报道范文【经... 化学高考教研活动报道范文 篇一“化学高考教研活动”圆满结束,各地教师汇聚一堂,共同探讨化学高考备考经...
高考作文万能素材(精彩3篇) 高考作文万能素材 篇一:社会热点话题社会热点话题一直是高考作文的常见素材之一。在这个信息爆炸的时代,...
2022年全国新高考II卷高... 2022年全国新高考II卷高考优秀作文 篇一标题:新高考改革的意义与挑战随着时间的推移,2022年新...
升学宴演讲稿【优选5篇】 升学宴演讲稿 篇一尊敬的老师、亲爱的同学们:大家好!很高兴能在这个特殊的场合与大家相聚,今天我站在这...
艺术生高考发言誓词范文【优选... 艺术生高考发言誓词范文 篇一尊敬的校领导、老师们、亲爱的同学们:大家好!今天,我站在这里,代表艺术生...