day10数组的学习

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

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

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

二维数组的定义和初始化

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

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

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

这就是二维数组的输出

二维数组进行改换值

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

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

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

是这样进行排列的

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

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

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

数组名就是首元素地址

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

有两种形式知道吗

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

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

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

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

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

相关推荐
M78佐菲5 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
无敌贵点大王7 小时前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
是翎9 小时前
深度长文|2026产品经理AI实践手册
人工智能·深度学习·学习·自然语言处理·数据挖掘
Linux-lucky9 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
知识分享小能手10 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
AI职业加油站13 小时前
数据要素价值释放年:大数据治理工程师,站上职业新风口
人工智能·学习·职场和发展·数据分析·职场发展
啄缘之间13 小时前
1.【SVA】什么是SVA?
经验分享·学习·测试用例·verilog·sva
sunoo-22914 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Purple Coder14 小时前
stm32
学习
边境悍匪14 小时前
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
java·开发语言·vue.js·学习·spring