物联网/嵌入式工程师
重磅升级:新增硬件电路设计与实战,让你软硬通吃,同级PK无敌!行业风口、政策倾斜,新晋热门高薪不内卷!0基础一站式就业完整路径,抢占先发优势!
前面的课程中,我们学习了变量,知道变量是用来存放数据的。
有的同学可能会写这样的一个程序
#include <stdio.h> int main(int argc,char **argv) { int student1; int student2; int student3; int student4; int student5; return 0; }
似乎是没有什么问题的。但是,班里有 50 个同学呢?或者更多同学呢?
显然这是不太好的,虽然这样的程序也可以工作,那应该怎么写呢?
现在我们就来看看 C++ 中的数组
仍然以存储50个同学的成绩为例,我们要定义 存储50个学生成绩的变量,只要这样定义就可以了。
#include <stdio.h> int main(int argc,char **argv) { int a[50]; return 0; }
那么我们应该如何访问数组中的元素呢?这里我们要用到一个角标的概念,假如我们要给数组中第 1 个变量赋值为 98 分,我们应该这样做。
#include <stdio.h> int main(int argc,char **argv) { int a[50]; a[0] = 98; return 0; }
注意:C++ 的角标是从 0 开始的,我们日常生活中的“第一个”,对应 C++ 的数组角标实际上 0 。为了不至于混淆,也常常说“第 0 个”。
数组是一个整体,它的内存是连续的,也就是说,数组元素之间是相互挨着的,彼此之间没有一点缝隙,一个 int[5] 的数组,在内存中的布局看起来像下图一样。
我们可以在声明数组的时候,就给数组赋值
#include <stdio.h> int main(int argc,char **argv) { int a[4] = {0, 1, 2, 3}; return 0; }
如果不想指明数组的长度,可以不写,这样数组的长度就是给定的列表的长度。
#include <stdio.h> int main(int argc,char **argv) { int a[] = {0, 1, 2, 3}; // 此处数组的长度就是 4 return 0; }
你也可以只给部分元素赋值,当 {} 中的元素数量少于 [] 中定义的长度的时候,只给前面部分元素赋值,后面的未指定的元素,将被赋值为 0。
#include <stdio.h> int main(int argc,char **argv) { int a[4] = {1, 2}; // 1, 2, 0, 0 return 0; }
借用此特性,我们可以把数组的所有元素初始化为 0
#include <stdio.h> int main(int argc,char **argv) { int a[4] = {0}; return 0; }
请验证,完成请求
由于请求次数过多,请先验证,完成再次请求
打开微信扫码自动绑定
绑定后可得到
使用 Ctrl+D 可将课程添加到书签
举报