数组的详细介绍

数组是一组相同类型元素的集合,也就是说:数组至少包含两个及以上的元素,且元素类型相同。

数组包括一维数组和多维数组,其中二维数组最常见。下面我们一一介绍。

一维数组

格式:type name [常量值];  

        type是类型,它可以是int double float char等类型

        name是数组名字,这个你自己定义,有意义就行

        常量值,也就是数字(在vs里,这里不可以使用变量)

就比如我下面定义应该身高的整型数组:

int hight[10];

有些时候,我们创建数组需要给他初始化,数组的初始化一般使用大括号,将数据放入打括号内,每一个数据之间用逗号隔开。下面我们给出代码,请你一定要仔细观察:

int hight[3]={178,152,185};   

int price[3]={50};

int score[3]={5,6,8,9};

这里我们初始化了三个数组,其中第一个是完全初始化;第二个不完全初始化,这种初始化,第一个元素的值为50,而数组内后面的元素值都为0;第三个初始化错误,初始化的项数多余数组内元素个数。

数据存在数组中了,那我们怎么查找数据呢?这时就需要数组下标了。

数组下标:

数组的下标和数组元素是一一对应的,数组的下标都是从0开始,数组有n个元素,那么它的下标就是从0到n-1的。

数组的访问需要一个操作符——[],下标引用操作符,这个之前讲过,这里就不重新讲解了,不了解的可以去看这篇博客: 写文章-CSDN创作中心icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/138131954

下面我们给出代码来演示下标是怎么帮助我们查找数组元素的:

 因为数组下标是从0开始,所以我们通过数组下标来查找数组元素时,查找第n个元素,下标就是n-1。

当我们想访问数组中所有的元素时,我们可以使用循环来解决,例如:

访问数组中元素,我们讲完了,接下来说说向数组中放入数据把!

数据的输入:

这个我们同样可以使用循环来完成,例如: 我向数组arr中输入1-10,下面我们来把输进去的值再打印到屏幕上验证一下吧,看看是不是输入和输出的一样 

结果表明,我们这样是可以将数据输入数组中的。

一维数组再内存中的存储:

此时,你觉得数组再内存中存储是连续的还是散乱的呢?我们一起来验证下吧!

我们将上面的代码修改下,不再打出数据,而是将数组中元素的地址打印在屏幕上。 

注意看这张图,这里面的地址都是连续存在的,每个元素都是int类型,所以每个元素都是4个字节,所以相邻元素的地址之间也就相隔4。

由此我们得出结论:数组的元素在内存中是连续存在的 

 二维数组:

前面我们学习了一维数组,当我们把一维数组当作元素存储在数组中,这时候这个数组就是二维数组,⼆维数组作为数组元素的数组被称为三维数组,⼆维数组以上的数组统称为多维数组。这里我们讲下二维数组。

格式:type name[常量值1][常量值2];           这和一维数组类似

int hight[3][2];

就好比hight这个数组,第一个常量值3,代表总共有三行;第二个常量值2;代表有两列。

这里初始化和之前的一维数组类似,只不过,在这里我们要将数组的一行元素全部初始化后,才能继续初始化下一行,例如,我想将hight[3][2]这个数组的每一行都初始化为1,2,3:

int hight[3][2]={1,2,3,1,2,3};

这里常量值1是可以省略的,但是常量值2不可以省略,也就是行数可以不写,但是列数必须写。数组中每一行元素存满之后会自动跳到下一行继续存入数值。

二维数组的输入和输出: 

这个也和一维数组类似,就是需要嵌套循环:

下标查找也都一样,我就不细说了。

一维数组和二维数组的基础方面也就讲完了,后续有不懂的可以留言 私信。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/678568.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

微信短视频怎么收藏?成都鼎茂宏升文化传媒公司

微信短视频怎么收藏?一文教你轻松掌握 随着微信功能的不断升级,微信短视频已经成为我们日常生活中不可或缺的一部分。无论是朋友分享的生活点滴,还是公众号推送的精彩内容,短视频都以其直观、生动的形式,吸引着我们的…

Qt——控件

目录 概念 QWidget核心属性 enabled geometry WindowFrame的影响 windowTitle windowIcon qrc的使用 windowOpacity cursor font toolTip focusPolicy ​编辑 styleSheet 按钮类控件 PushButton RadioButton CheckBox 显示类控件 Label textFormat pixm…

什么牌子的洗地机好?高端旗舰洗地机,清洁力强的洗地机品牌

科技水平的不断进步,人们对生活环境的要求日益提高,洗地机作为一种高效,便捷的清洁设备,在家务清洁中,越来越受重视,洗地机不仅在吸尘、拖地和深度清洁等方面表现出色,可以帮助用户轻松应对各种…

Swagger教程:【Swagger】让你的API文档焕然一新!

Swagger(现称为OpenAPI Specification)是一种用于描述RESTful API接口的规范。它允许您以机器可读和人类可读的方式定义服务,使得开发、测试、维护和文档化API变得更加高效。下面整理了一个基础的Swagger教程,包括其重要组成部分和…

2021 hnust 湖科大 计组课设 包含multisim14连线文件,报告,指导书

2021 hnust 湖科大 计组课设 包含multisim14连线文件,报告,指导书 描述 hnust计组课设要用到的东西都在里面了 下载链接 https://pan.baidu.com/s/1tHooJmhkrwX47JCqsg379g?pwd1111

计网期末复习指南(五):运输层(可靠传输原理、TCP协议、UDP协议、端口)

前言:本系列文章旨在通过TCP/IP协议簇自下而上的梳理大致的知识点,从计算机网络体系结构出发到应用层,每一个协议层通过一篇文章进行总结,本系列正在持续更新中... 计网期末复习指南(一):计算机…

【计算机毕设】基于SpringBoot的民宿在线预定平台设计与实现 - 源码免费(私信领取)

免费领取源码 | 项目完整可运行 | v:chengn7890 诚招源码校园代理! 1. 研究目的 本研究旨在设计并实现一个基于SpringBoot的民宿在线预定平台。通过信息化手段提高民宿预定效率,方便用户查询房源、预定房间、在线支付和…

OBS+nginx+nginx-http-flv-module实现阿里云的推流和拉流

背景:需要将球机视频推送到阿里云nginx,使用网页和移动端进行播放,以前视频格式为RTMP,但是在网页上面播放RTMP格式需要安装flash插件,chrome浏览器不给安装,调研后发现可以使用nginx的模块nginx-http-flv-…

LlamaIndex介绍

LlamaIndex LangChain v0.2 教程分成以下部分: 1、入门 2、学习 3、用例 4、示例 5、高级 6、组件指南 RAG 用额外的信息来提高回答的质量。 分为 5个阶段: (1)loading 加载原始文件,LlamaHub 提供数百种连…

借助调试工具理解BLE协议_1.蓝牙简介和BLE工作流程

1.蓝牙简介 蓝牙是一种近距离无线通信技术,运行在2.4GHz免费频段,目前已大量应用于各种移动终端,物联网,健康医疗,智能家居等行业。蓝牙4.0以后的版本分为两种模式,单模蓝牙和双模蓝牙。 单模蓝牙&#xf…

聊聊测试的右移

这是鼎叔的第九十九篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。 欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》已出版(机械工业出版社&#xff09…

体育赛事直播系统开发源码搭建

随着体育产业的蓬勃发展,体育赛事直播已成为广大观众获取赛事信息的重要途径。为了满足观众日益增长的需求,开发一套专业的体育赛事直播系统成为当务之急。本文将围绕体育赛事直播系统开发源码搭建进行深入探讨,从技术选型、系统架构、安全防…

教你一绝招:如何快速提高学习成绩--这样学习,你离考取重点高中或名牌大学很近了

教你一绝招:如何快速提高学习成绩 这样学习,你离考取重点高中或名牌大学很近了 我本来是讲写作的,但回想起过去学习与考试情况,何不把自己的学习经验与绝技告诉如今苦学的孩子,让其尽快进步,早日实现自己的…

面试一个多月,我上岸了!

大家好,我是枫哥,🌟阿里云技术专家、📝资深面试官、🌹Java跳槽网课堂创始人。拥有多年一线研发经验,曾就职过科大讯飞、美团网、平安等公司。目前组建的团队,专注Java技术分享,一对一…

副业兼职不知道做什么,不如先试试这个,一天挣个百八十很简单

在市场上,总是不乏赚钱的机会和各式各样的挣钱项目。许多人往往认为,那些赚得盆满钵满的人纯粹是因为运气好、能力强、条件优越且智商高。然而,事实并非如此简单。 实际上,每一个项目或操作方法的背后,都有其独特的逻…

期刊的分类与级别

在学术界,期刊的分类与级别构成了一个评价学术成果和学者贡献的重要标准,同时也是学术出版与学术交流的基础。然而,对于初涉学者来说,理解期刊的分类与级别可能并不直观。本文旨在提供一个系统性的解释,并阐述为何期刊…

含有嘧啶的光活性阳离子共轭微孔聚合物通过“吸附杀死”抗菌策略促进感染伤口愈合

引用信息: 文 章:Photoactive cationic conjugated microporous polymers containing pyrimidine with an adsorption-killantibacterial strategy for infected wound healing. 期 刊:Chemical Engineering Journal(影响因子…

2024最全软件测试面试八股文(答案+文档+视频讲解)

Part1 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自…

Python语言在地球科学交叉领域中的技术应用

Python是功能强大、免费、开源,实现面向对象的编程语言,Python能够运行在Linux、Windows、Macintosh、AIX操作系统上及不同平台(x86和arm),Python简洁的语法和对动态输入的支持,再加上解释性语言的本质&…

【微信支付】获取微信开发信息(全网最详细!!!)

前言 1、申请商户号 申请流程与资料 详细申请步骤 申请开通接入微信支付步骤 2、申请微信小程序 申请小程序步骤 查看小程序AppID 3、微信支付普通商户与AppID账号关联 4、获取开发中需要的密钥和证书 4.1、申请证书 4.2、下载证书工具 4.3、证书工具—填写商户信息…