第四天 一维数组和二维数组

一维数组和二维数组的数组名 一维数组 数组名是个指针常量,即指针的指向不可以修改,但指针所指向空间的值可以修改 一维数组数组名除了两种特殊情况外,可以理解为指向第一个元素的指针 两种特殊情况: sizeof数组名 对数组名取地址 int arr[5] = { 1, 2, 3, 4, 5 }; //1、当sizeof数组名时候,统计是整个数组的大小 printf("sizeof(arr) = %d\n", sizeof(arr)); //2、当对数组名 取地址的时候 printf("%d\n", &arr); print 阅读详情

                                                     第四天

1.数组

     数组:储存一组相同数据类型的数据的容器

     数组一旦确定了大小就不会改变了

     数组名字中存储的是地址

     数组每个元素都有默认值:整数:0,小数0.0,字符'a',布尔:false

     引用类型变量:变量中储存的不是数据是地址.两个引用指向同一个数组,一个引用修改,另一个引用取出的是修改后的数据

1.1数组的初始化

动态初始化适用于知道元素个数,静态初始化适用于知道元素数据

 动态初始化

 素数据类型[] 数组名 = new 元素数据类型[元素的个数];

 静态初始化

 元素数据类型[] 数组名 = new 元素数据类型[]{元素值得罗列};

静态初始化简化形式

访问数组元素的值:   数组名[索引];

索引 别名: 下标, 角标, 脚标. 索引值得范围: 从0开始到元素个数-1;

1.2数组遍历

 穷举法    for循环遍历

穷举法:通过索引一一进行列举

for循环遍历:

for(int i = 0; i < 数组名.length; i++){

 System.out.println(数组名[i]);}

 数组元素个数:  数组名.length

1.2数组最值

"擂台思想"

1.3数组查询

 查找某个元素在该数组中的索引,相同的元素只找第一个

1.4数组反转

数组的异常

数组索引越界异常       空指针异常 

数组索引异常

产生的原因:访问元素值时,索引超出数组个数长度

避免产生异常的方法:传入索引时提前进行判断

if(索引 >= 0 && 索引 < 数组长度){  

}

空指针异常

产生的原因:当一个引用不指向堆区任意数据时,仍然使用该引用操作数据

避免产生异常的方法:进行非空判断

if(引用 != null){

 使用引用}

2.二维数组

每个元素都是一个一维数组

每个元素储存的都是一维数组的地址

2.1二维数组的初始化

动态初始化

int[][] arr = new int[一维数组个数]{每个一维数组的个数};

第二个中括号中长度可以不给.

静态初始化

二维数组管理的小数组个数:   二维数组名.length;

获取指定索引的小数组:   二维数组名[索引];

获取指定位置元素: 二维数组名[索引1][索引2];

2.2二维数组的遍历

外层循环是一维数组,二层循环是一维数组的元素

OCR开发车架号识别vin码识别系统 一、vin码识别车架号识别系统简介   vin码识别车架号识别系统,结合VIN码主机厂数据库及自身多年文字识别经验,针对机动车配置参数等信息的查询及采集业务推出的一款VIN码自动识别产品。   车架号识别vin码识别,主要应用在智能手机IOS与Android两个平台中。前端扫描查询模式,无需联网,只需扫描汽车前挡风玻璃右下角的VIN玛(车架号),即可轻松识别出车辆产地、品牌、车 阅读详情

相关推荐

解读文献(五)------基于阻抗控制

文章目录背景主动柔顺控制阻抗控制基于力的阻抗控制基于位置的阻抗控制力位混合控制 背景 主动柔顺控制 阻抗控制 基于力的阻抗控制 基于位置的阻抗控制 力位混合控制 ...

accumulation 1万+

一维数组、二维数组的大小、长度与偏移

一维数组大小与长度 int a[10]; 1 数组的大小 int size = sizeof(a) = 40; 2数组的长度 int len = sizeof(a) /sizeof(int) = 10 3数组的偏移 首先数组名代表首个元素的地址,要注意数组名是一个常量,不能被赋值,a == &a[0] == 01(假设数组的起始地址为01) a + 1 == &a[0] + 1 == 05 地址加一跳过一个整形元素,即跳过4个字节 &a + 1 = 0x01 + 10 * 4 =

Anurmy的博客 4690

RADIOML 2018.01A调制信号数据集介绍及处理

RadioML 2018.01A 由 DeepSig 发布,是专门针对自动调制识别(Automatic Modulation Recognition, AMR)和无线信号分类研究设计的基准数据集。它在原有 RadioML 2016.10a 的基础上,扩展并精细化了信道仿真模型,使得信号更接近真实无线环境下的表现。该数据集广泛用于机器学习模型的训练与评估,为各类深度学习算法提供了统一、可重复的实验条件。

weixin_56527269的博客 1898

一维数组和二维数组

本文主要讲了数组的概念,一维数组和二维数组,其中包含了数组的创建和初始化,数组的类型,数组的下标,数组的打印和输出。

jsmsjj的博客 1927

UE5.3.2 + VS2022社区版在Win11上的C++编译环境配置全解

Unreal Engine 5的C++开发依赖严格的工具链协同,其核心在于Visual Studio编译器版本、Windows SDK与引擎构建系统(UBT)的精准匹配。UE5.3.2强制要求MSVC v143.4(即VS2022 17.4+)及Windows 11 SDK 10.0.22621.0,任何偏差都会引发LNK2019链接失败、C1083头文件缺失或MSB8066构建中断等典型错误。该配置不仅关乎安装顺序,更涉及注册表清理、PATH环境变量、SDK路径注入与运行时DLL加载等底层机制。适用于Wi

weixin_33978722的博客 367

基于Arduino与光电传感器的心率监测系统:从原理到实现的完整指南

光电式心率监测是一种基于光电容积脉搏波描记法(PPG)的非侵入式生命体征测量技术。其核心原理是利用特定波长光线照射皮肤组织,通过检测因血液容积周期性变化导致的反射光强微弱波动,来获取心率信息。这项技术的关键价值在于实现了低成本、便携化的连续生理参数监测,广泛应用于健康管理、运动科学及嵌入式系统教学领域。在工程实践中,信号处理算法(如移动平均滤波与动态阈值峰值检测)对提升测量精度至关重要。本文以Arduino平台为例,详细解析了如何集成MAX30102或Pulse Sensor Amped等光电传感器,结合T

weixin_33461476的博客 246

【C语言】一维数组传参和二维数组传参的总结

本文介绍一维数组和二维数组作为实参,形参的接受方式。以上就是一维数组传参和二维数组传参的一些方法。

m0_49425260的博客 4764

从MFCC到GMM:手把手教你用Python实现说话人识别(附完整代码)

本文详细介绍了如何使用Python实现说话人识别系统,从MFCC特征提取到GMM模型训练,涵盖完整的技术流程和代码示例。通过梅尔频率倒谱系数(MFCC)和高斯混合模型(GMM)的结合,构建高效的说话人识别系统,适用于身份认证和智能交互场景。文章还探讨了从传统方法到深度学习的进阶话题,如i-vector和x-vector技术。

o1p2q3r的博客 200

C++一维数组和二维数组的输入

一维数组输入 void push1() { vector<int> vector1; int inputnum; while (cin >>inputnum) { vector1.push_back(inputnum); if (cin.get() == '\n'); break; }; } 二维数组的输入 void push2() { int r = 0, c = 0; cin >> r; //输入二维数组的行数 cin >&gt

xuanzheA的博客 3465

RK3588上从零部署Facenet人脸识别:PyTorch转ONNX再到RKNN的完整避坑指南

本文提供了在RK3588开发板上从零部署Facenet人脸识别模型的完整指南。详细介绍了从PyTorch模型导出、转换为ONNX格式,再通过RKNN-Toolkit2转换为RKNN格式的完整流程,并重点分享了环境配置、算子兼容性处理、量化调优及板端部署中的关键步骤与避坑经验。

river的博客 464

LS-DYNA超高速碰撞仿真入门:从SPH算法配置到铝靶板穿孔分析(附K文件模板)

本文详细介绍了使用LS-DYNA中的SPH(光滑粒子流体动力学)算法进行超高速碰撞仿真的完整流程。以铝弹丸撞击铝靶板为例,从SPH算法原理、LS-PrePost前处理、材料模型与状态方程设置,到接触定义、边界条件及K文件生成,提供了系统的入门指导和关键参数调试经验,帮助工程师高效模拟材料破碎、穿孔等极端变形问题。

h0i1j2k3l的博客 735

C语言 一维数组、二维数组的创初始化、使用和存储

数组 数组(Array)是在内存中连续存储的具有相同类型的一组数据的集合。 数组是一组相同类型元素的集合。*这些元素在内存中依次连续挨着存放。 数组中,若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量

weixin_45803426的博客 7053

《UDS协议从入门到精通》系列——图解0x34:请求下载

上传下载类服务之0x34-请求下载,图解请求+响应格式,直观易懂,快速上手!!

车载系统攻城狮 4931

python一维数组和二维数组_Python numpy实现二维数组和一维数组拼接的方法

Python numpy实现二维数组和一维数组拼接的方法撰写时间:2017.5.23一维数组1.numpy初始化一维数组a = np.array([1,2,3]);print a.shape输出的值应该为(3,)二维数组2.numpy初始化二维数组a = np.array([[1,2,3]]);b = np.array([[1],[2],[3]]);print a.shape//(1,3)prin...

weixin_39639919的博客 5353

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

一维数组与二维数组

目录1.一维数组1.什么是数组?# 2.数组的声明的两种方式:3.数组创建的三种方式4.数组的访问与迭代2.二维数组1.什么是二维数组?2.二维数组的声明的两种方式:3.二维数组创建的三种方式4.二维数组的迭代 1.一维数组 1.什么是数组? 数组是相同数据类型元素的集合。 简单说,数组即就是在计算机内存中找一块连续的内存,在里面放相同类型的数据。 注意: 1.数组里放入的数据类型必须相同 2.当数组创建后其长度就不可改变 # 2.数组的声明的两种方式: • 数据类型 [] 数组名字 例如:int []

qq_56501283的博客 5337

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

一维数组和二维数组以及使用数组指针遍历一维数组和二维数组

又因为a指向a[0],a[1],a[2]为元素的数组,即a指向的其实是3个数组的第一个数组,a+1指向的就是第二个数组,也就是a是一个行指针,跨越的是整个一维数组,所以a的本质是数组指针,指向的是第一个一维数组的地址。可以结合上面的图理解二维数组,int a[3][2]其实是3个一维数组,这个三个数组的名字分别是a[0],a[1],a[2].其本质是int *,也就是a[0],a[1],a[2]分别保存三个一维数组的首元素的地址。数组指针指向的是数组,肯定要把数组的地址给这个指针,而不是数组首元素的地址。

非我非非我的博客 1137

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

一维数组与二维数组互相转换

一维数组与二维数组互相转换 一、二维数组转一维数组 1.1 使用 reduce 实现 vararr1=[[1,2],[3,4],[5,6],[7]]; functiontoArrayOne(pre,value,index,array){ returnpre.concat(value); } var arr2 = arr1.reduce(toArrayOne); console.log(arr2 ); reduce 还可以实现数组求和,求数组最大值/...

qq_20765533的博客 8196

认识一维数组和二维数组

所以数组的下标如果小于0,或者大于n-1,就是数组越界访问了,超出了数组合法空间的访问。二维数组是由多个一维数组组成的,每一行就是一个一维数组,每一列就是每个一维数组中的一个元素。二维数组在内存中是按行连续存放的,也就是说,第一行的元素排列完之后,再排列第二行的元素,以此类推。我们在写代码的时候,会将数组作为参数传个函数,我们在此只需知道数组对函数传参时传递的是数组首个元素的地址。数组的元素个数根据初始化的内容来确定。,仔细观察输出的结果,我们知道,随着数组下标的增长,元素的地址,也在有规律的递增。

AlanTZT的博客 547

6. C语言——【一维数组 和 二维数组】

本文章讲解了一维数组和二维数组

一名普通高校生 1241

java一维数组转为二维数组

直接复制看效果就明白 package testJava; public class 一维数组映射为二维数组 { public static void main(String[] args) { //创建一维数组,并赋值。 int data[]=new int [50]; for(int i=0;i<50;i++) { data[i]=i+1; } ...

AIOT魔法师 8372

一维数组和二维数组的含义

1.一维数组 int arr[4]; 表示定义一个含有4个元素的一维数组,数组名为arr。 arr 数据类型为 整型的指针,相当于int *p; arr+1 相当于给一个指针+1,数据类型也为整型指针。 arr[0] 表示arr数组中的一个元素,数据类型为 int型。 arr[0]+1 表示给arr数组中第一个元素的值加1,数据类型为 int型。 2.二维数组 int brr[3][4];...

cleverlemon的博客 3417

二维数组与一维数组

1.二维数组与二维数组的初始化 定义: 二维数组本质为以数组作为数组元素的数组,即“数组的数组”。 表达式: 类型说明符 数组名【常量表达式】【常量表达式】 在二维数组中,二维数组行优先。 2.二维数组与一维数组的比较 首先我们先定义一个一维数组和一个二维数组。 int arr[3][4]={{1,2,34,4},{5,6,7,8},{0,11,9,...

关于程序员的那些事儿 2748
上一篇: 第三天 方法和jvm
java_xiaoguo
博客等级 码龄7年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值