C++的序列容器——数组
前言:
这篇文章我们就开始新的章节,我们之前说的C/C++的缺陷那部分内容就结束了。在开始新的章之前我希望大家可以先对着题目思考一下,C++的容器是什么?有什么作用?下面让我们开始新的内容:
目录
前言:
序列容器——数组
概念:
数组声明:
使用注意事项:
优点:
实例:
现在引入我们的C++对于数组下标的规则定义:
如此设计的好处:
下期预告:数组的基本功能和二维数组;
序列容器——数组
概念:
代表内存里一组连续的同类型存储区。
可以用来把多个存储区合并成一个整体。(原本分散互不联系的单元内存,因为数组的定义而组合在一起,成为一个整体,多个存储区可以为同一类型的内容存储)
比如: int a[10]={1,2,3,4,5,6,7,8};
数组声明:
- int a[10];
- 类型名称int表示数组里所有元素的类型。(int型的数组就表示数组里存储的都是int型元素)
- 类型名称a是数组的名称。(数组名,代表整个数组的名字)
- 整数10表示数组里包含元素个数。(可以填满10个,也可以填不满10个,但是不能超过10个)
- 数组里元素个数不可以改变。(一旦定义前就把数组的大小确定后,后期基本无法改变)
使用注意事项:
- 每个元素都有下标,通过下标就可以直接访问任意一个元素;(相当于名字)
- 下标从零开始到元素个数减一为止;(所有的数据都是从0开始数,其他的一样)
- 超过范围的下标不可用;(未被定义过,贸然使用会出现bug)
- 数组名称和下标一起可以表示数组里的元素(还是相当于被存储的元素在数组中的名字)
优点:
- 可以编写循环依次处理数组里的所有元素。
- 循环变量依次代表所有的有效下标。(利用循环的数字递加可以表示下标的递增)
实例:
include<iostream>
using namespace std;
int main()
{
int a[8]={1,2,3,4,5,6,7,8};
for(int s=0;s<9;s++)
{
cout<<a[s]<<endl;
}
return 0;
}
下标标识了一个数组元素在当前数组中的位置。
好的,我们现在思考一个问题:一段路90米,每个10米种一棵树,总共需要多少棵树?
答案是10
off by one error(少一错误)
我再举个例子:假定整数x满足边界条件x>=16并且x<=37那么此范围内有几个数?
答案是22
我们来简单分析一下,就是当x的两个边界重合时,即当x>=6&&x<=27时,那么结果就是1;
接着我们再用27-6得到21再加上1,结果就是22。千万别忘了加一。
现在引入我们的C++对于数组下标的规则定义:
首先这个区间是一个非对称的区间。(比如是x>=6,x<=27这就是非对称,一半是大于等于,一半是大于)
让上界取不到值,下界取得到值;

如此设计的好处:
- 取值范围的大小:上界-下界
- 如果这个取值范围为空:上界值等于下界值;
- 即使取值范围为空,上界值永远都不可能小于下界值;
🆗到这里,这篇关于C++的序列容器——数组就说完了,求一个免费的赞,感谢阅读,我们下期见。
下期预告:数组的基本功能和二维数组;
相关文章:
C++的序列容器——数组
前言: 这篇文章我们就开始新的章节,我们之前说的C/C的缺陷那部分内容就结束了。在开始新的章之前我希望大家可以先对着题目思考一下,C的容器是什么?有什么作用?下面让我们开始新的内容: 目录 前言&#x…...
TCC 和 XA 协议之间的区别?
TCC(Two-Phase Commit)协议和XA协议都是用于分布式系统中确保事务原子性的协议。它们在实现分布式事务协调方面有一些相似之处,但也存在一些关键的不同点。 协议的协调者(Coordinator)角色: TCC协议&#x…...
萌啦数据插件使用情况分析,萌啦数据插件下载
在当今数字化时代,数据已成为企业决策与个人分析不可或缺的重要资源。随着数据分析工具的日益丰富,一款高效、易用的数据插件成为了众多用户的心头好。其中,“萌啦数据插件”凭借其独特的优势,在众多竞品中脱颖而出,成…...
C++初学(13)
13.1、for循环的组成部分 for循环的组成部分完成下面这些步骤: (1)设置初始值。 (2)执行测试,看看循环是否应当继续。 (3)执行循环操作。 (4)更新用于测试的值。 C循环设计中包含这要素,很容易识别,初始化、测试和更新操作工…...
目标检测之数据增强
一、概述 数据增强是一种通过人工或自动方式对数据进行修改或变换,以增加数据集规模和多样性的技术。在机器学习中,数据增强被广泛应用于解决数据稀缺、数据不平衡、数据噪声等问题,提高模型的泛化能力和鲁棒性。 二、为什么需要数据增强 …...
本地下载安装WampServer结合内网穿透配置公网地址远程访问详细教程
文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境,是一组常用来…...
一篇文章理清Java持久化脉络(关于JDBC、JPA、Hibernate、Spring Data JPA)
Java持久化 一、JDBC、JPA、Spring Data JPA 的定义及关系二、JDBC(古老的东西,只需简单知道是啥)1.1 JDBC概念1.2 JDBC示例 三、JPA(第二代持久化,代表是Hibernate等框架)3.1 JPA概念3.2 JPA示例 四、Spri…...
【数学分析笔记】第2章第1节实数系的连续性(1)
2. 数列极限 2.1 实数系的连续性 人类对数系认识的历史: 人类最早对数系的认识是自然数集合 N \mathbb{N} N,自然数系对加法和乘法是封闭的(这里的封闭是指:若 m ∈ N , n ∈ N ⇒ m n ∈ N , m n ∈ N m\in\mathbb{N},n\in\ma…...
Speech Synthesis (LASC11062)
大纲 Module 1 – introductionModule 2 - unit selectionModule 3 - unit selection target cost functionsModule 4 - the databaseModule 5 - evaluationModule 6 - speech signal analysis & modellingModule 7 - Statistical Parametric Speech Synthesis (SPSS)Modu…...
拟合与插值|线性最小二乘拟合|非线性最小二乘拟合|一维插值|二维插值
挖掘数据背后的规律是数学建模的重要任务,拟合与插值是常用的分析方法 掌握拟合与插值的基本概念和方法熟悉Matlab相关程序实现能够从数据中挖掘数学规律 拟合问题的基本提法 拟合问题的概念 已知一组数据(以二维为例),即平面上n个点 ( x i , y i ) …...
《python语言程序设计》2018版第7章第05题几何:正n边形,一个正n边形的边都有同样的长度。角度同样 设计RegularPolygon类
结果和代码 这里只涉及一个办法 方法部分 def main():rX, rY eval(input("Enter regular polygon x and y axis:"))regular_num eval(input("Enter regular number: "))side_long eval(input("Enter side number: "))a exCode07.RegularPol…...
使用Virtio Driver实现一个计算阶乘的小程序——QEMU平台
目录 一、概述 二、代码部分 1、Virtio 前端 (1) User Space (2) Kernel Space 2、Virtio 后端 三、运行 QEMU Version:qemu-7.2.0 Linux Version:linux-5.4.239 一、概述 本篇文章的主要内容是使用Virtio前后端数据传输的机制实现一个计算阶乘的…...
【PyCharm】配置“清华镜像”地址
文章目录 前言一、清华镜像是什么?二、pip是什么?三、具体步骤1.复制镜像地址2.打开PyCharm,然后点击下图红框的选项3.在弹出的新窗口点击下图红框的选项进行添加4.在URL输入框中粘贴第一步复制的地址,名字可以不更改,…...
IO器件性能评估
整体逻辑:需要先了解到读写速率的差异,在明确使用场景。比如应用启动过程中的IO主要是属于随机读的io 评估逻辑: UFS 与 eMMC主要差别在io读写能力: 1,对比UFS、eMMC的规格书标注的io读写能力 ufs spec : sequentia…...
在js中判断对象是空对象的几种方法
使用 Object.keys() 方法 Object.keys() 方法返回对象自身的可枚举属性名称组成的数组。如果数组的长度为 0,那么对象是空的。 function isEmptyObject(obj) {return Object.keys(obj).length 0 && obj.constructor Object; }const obj1 {}; const obj2…...
【整理】后端接口设计和优化相关思路汇总
文章目录 明确的接口定义和文档化使用RESTful设计规范分页和过滤合理使用缓存限流与熔断机制安全性设计异步处理与后台任务接口参数校验(入参和出参)接口扩展性考虑核心接口,线程池隔离关键接口,日志打印接口功能单一性原则接口查…...
docker 部署 sql server
众所周知,sql server不好装,本人之前装了两次,这个数据库简直是恶心。 突然想到,用docker容器吧 果然可以 记得放开1433端口 还有 记得docker加速,不然拉不到镜像的最后工具还是要装的,这个就自己研究吧。 …...
微信云开发云存储 下载全部文件
一、安装 首先按照这个按照好依赖,打开cmd 安装 | 云开发 CloudBase - 一站式后端云服务 npm i -g cloudbase/cli 安装可能遇到的问题 ‘tcb‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。-CSDN博客 二、登录 在cmd输入 tcb login 三、…...
1、巡线功能实现(7路数字循迹)
一、小车运行 1.PWM初始化函数 (pwm.c中编写) 包括四个轮子PWM通道使用的GPIO接口初始化、定时器初始化、PWM通道初始化。 void PWM_Init(uint16_t arr,uint16_t psc); 2.PWM占空比设置函数 (pwm.c中编写) 此函数调用了四个通道设置占空比的函数,作用是方便修改四…...
来了...腾讯内推的软件测试面试PDF 文档(共107页)
不多说,直接上干货(展示部分以腾讯面试纲要为例)完整版文末领取 通过大数据总结发现,其实软件测试岗的面试都是差不多的。常问的有下面这几块知识点: 全网首发-涵盖16个技术栈 第一部分,测试理论&#x…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
接口 RESTful 中的超媒体:REST 架构的灵魂驱动
在 RESTful 架构中,** 超媒体(Hypermedia)** 是一个核心概念,它体现了 REST 的 “表述性状态转移(Representational State Transfer)” 的本质,也是区分 “真 RESTful API” 与 “伪 RESTful AP…...
新版NANO下载烧录过程
一、序言 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。 二、环境搭建 1、安装库 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Je…...
