二维数组的创建,第一个[]为行数,第二个下标操作符[]为列,也就是每一行有几个元素
二维数组如果有初始化,那么行可以省略,列不可以
二维数组的访问也是通过下标的方式,下标不管是通过行还是列,都可以通过下标访问
我们可以把二维数组看作是一维数组的数组,其中二维数组中的每个一维数组看作是一个元素,比如arr[3][4]
就可以看作是三个一维数组的数组,其中每个一维数组里面有四个元素
在访问第一行的时候 可以把 arr[0]理解为一个数组名,这样又转化为了一维数组问题
想想之前一维数组如何打印的元素
也是数组名+循环,二维数组也一样
2024/8/13 11:27:45
个人理解:二维数组的第一个[]指的是这个数组里面的第几个一维数组,而第二个[]的意思就是找到的这个一维数组的第几个元素,实际上在内存的存储是连续的
{{1,2,3},{2,3,4},{3,4,5}}个人认为这种写法是最形象的 记住了
2024/8/13 11:29:31
2024/8/13 12:41:40
必须标清楚每一个一维数组的元素个数。否则编译器也不知道怎么存了
2024/8/13 12:42:49
没有行是可以的,只要卡卡的往后放,但没有列是不行的。编译器不晓得每一行放几个
数组越界
数组的下标是有限制的,如果使用了小于0的下标,和大于n-1的下标,我们就称之为数组越界,
超出了我们有效的范围,就不让我们使用了,越界时编译器可能不会报错,所以不能指望编译器去给我们报错,所以程序员在写数组的时候必须做好越界的检查
所以在编译器没有报错的时候可能也是有错误的,所以作为程序员的我们也要时常检查自己代码
数组函数
当数组作为函数参数时,直接把我们的数组名传进去就行
数组传参的 的时候 形参有两种形式
1.指针
2数组
数组名的意义
2024/8/13 15:50:11
数组名是什么?
2024/8/13 18:51:50
传过去的首元素的地址