day10数组的学习

对于数组的定义方式是这样的

这边是对数组的一个使用方式,对于字符数组来说双引号默认尾部有一个\0,如果你的数组括号里面没写入数字,自动根据你的数量去匹配,但是记住,对于双引号来说,需要多一个

这是什么意思呢,就是来获取数组的地址,由于是int类型,所以每次间隔为四,一维数组在内存中是连续存放的

二维数组的定义和初始化

对于二维数组来说,都是三行四列,则依次进行,前四个,然后三列,不够的进行补0

或者二维数组你可以进行这样去做都是可以的

对于二维数组来说,需要知道列数(就是你一行有多少个),然后系统会推测你的行数

这就是二维数组的输出

二维数组进行改换值

这个就是将二维数组当成一维数组的数组,这个是一样的

那么问题来了,对于二维数组的存放空间是什么样子的呢?

对于二维数组是一样的,都是按顺序进行排列

是这样进行排列的

其实对于这两个数组来说都是一致的,都是十二个内存空间的存放,但是访问的方式是不太一样的

什么叫做越界打印,就是对于一些数组来说,明明只有0-5,但是你打印了6-9,确实会打印,打印的不是你的东西,知道吗

讲了冒泡排序,后面再看吧,不急

数组名就是首元素地址

由于表示的是整个数组的地址,则将其加1,即到了数组后,直接加了40,由于int类型是4,10个元素是这样的

有两种形式知道吗

这里的arr代表的是什么意思呢,代表的是第一行的地址,也就是前四位

为什么那么说呢?当你对arr进行加1的时候

你可以发现,在最后两位上面加了1,也就是16,对于int类型来说,就是四个,也就是第二排

对于二维数组来说,怎么去求一个数组的行数和列数呢,首先来看第一行,由于arr代表的是整个数组,arr[0]代表的是第一排的数组,则相除就可以得出它的行数,怎么得到一个数组的列数呢,只需要将一行的数组求出来,然后求出第一行第一列的数组,然后求出来就可以得到有多少列

其实这是什么意思呢?我们再来细想想,其实就是要理解到,对于arr本身的意思不论是在一维还是二维都是代表的是首元素的地址,比如这边是二维,arr,arr[0],都是这里的三行四列的第一行,但是当你进行sizeof的时候,sizeof(arr)则代表了整个数组的内存,sizeof(arr[0])则是代表了第一行的数组

相关推荐
星火开发设计21 小时前
C++ 预处理指令:#include、#define 与条件编译
java·开发语言·c++·学习·算法·知识
BackCatK Chen21 小时前
第 1 篇:软件视角扫盲|TMC2240 软件核心特性 + 学习路径(附工具清单)
c语言·stm32·单片机·学习·电机驱动·保姆级教程·tmc2240
深蓝海拓21 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt
理人综艺好会1 天前
Web学习之用户认证
前端·学习
●VON1 天前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
AI视觉网奇1 天前
FBX AnimSequence] 动画长度13与导入帧率30 fps(子帧0.94)不兼容。动画必须与帧边界对齐。
笔记·学习·ue5
woodykissme1 天前
倒圆角问题解决思路分享
笔记·学习·工艺
黎雁·泠崖1 天前
Java核心基础API学习总结:从Object到包装类的核心知识体系
java·开发语言·学习
香芋Yu1 天前
【机器学习教程】第02章:线性代数基础【下】
学习·机器学习
Terio_my1 天前
简要 Java 面试题学习
java·开发语言·学习