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

这边是对数组的一个使用方式,对于字符数组来说双引号默认尾部有一个\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])则是代表了第一行的数组