本章将学习以下知识点:1:二维数组的创建与初始化. 2二维数组的使用. 3 二维数组在内存中的存储. 4数组越界. 5数组作为函数的参数

本文开始

        1:二维数组的创建与初始化.

                     其实二维数组的创建与一维数组的创建差不多:数组元素类型+数组名[常量表达式][常量表达式];比如:

                        

 但是数组在创建的时候还是需要注意这种形式:

 

   在创建数组的时候第二个常量表达式必须要指定大小,不然就不可以创建数组,至于为什么下面的文章会讲.也即记住一句话二维数组如果有初始化,行可以省略,列不能省略.

二维数组初始化:顾名思义就是给数组赋值如:

 在编写代码的时候我们尽可能按照arr2,那样创建数组,因为这样的代码可读性高.

2二维数组的使用.

这里与一维数组的使用类似,都使用了[]下标引用操作符,让我们通过这个引用符将1~9打印在屏幕上面吧>:

        

 对于数组的引用,就需要知道这个[]下标引用操作符.

3 二维数组在内存中的存储.

在内存中存储,二维数组其实可以看成一维数组的储存方式,都是连续的,一行结束后另一行就会接着存储.:

 这也导致了我们可以把二维数组看成一维数组来理解,加入就是上面的数组,我们可以把数组看作3个一位数组所组成:

 

通过这样我们还可以来算数组行有多上:

 

 且在数组中元素内存的地址应该是:低地址——>高地址,下面用的是3行4列的数组,也是连续的

4数组越界. 

数组越界:顾名思义,就是用到了我们不该用的空间(没有向操作系统申请的空间),比如以一维数组为列:

 同理二维数组也可能会出现数组越界的情况:

5数组作为函数的参数

其实在我们使用数组传参的时候,使用数组名其本质上是数组首元素的地址 ,除了以下两种情况

1:当使用sizeof(数组名)这种情况下我们就认为此时数组名代表的是整个数组,而他求得也是数组的大小,于是我们就可以利用他来求数组一共有多少个元素.

        

 

2:当使用&数组名的时候,我们认为这种情况下他是数组整个的地址,但是我们在把他的地址打印出来的时候,也是从首元素开始的与&数组名[0],数组名,他们的地址是相同的

从这里可以看出数组名本质上是数组首元素的地址

但看不出&arr与arr的区别:>于是看下图

 这里就可以看出来。

除了上述两种情况下,数组名就是数组的首元素的大小。

         下篇文章将写三子棋游戏,欢迎大家来看。

        如果本篇文章对你有用的话,可以点一个赞支持哦!

         或者是点个关注!

        最后谢谢大家的耐心观看!

 

                                

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值