c++ 二维数组_二维数组的声明2019_04_18

03cc9daccbdf9fbef3ef8a8470ba4883.png

-------------[感谢小郡提供的图片]

[广告位招租] ----------------------------------------------------------------

------------------------------------------------------------------------------

1.二维数组的定义

二维数组简言概之就是存储数组的数组,存储方式如下图所示

38f9b188054afeb91bca12369cf6d0d1.png

当我们键入String[][]=new String[ int i] [ int j] 这时栈区存储的变量是String类型引用变量同时在堆区开辟了一个引用数组(这个数组是用来存储引用变量的数组叫引用数组)这个引用数组又指向了堆内存中开辟的数组对象(万物皆对象)而这也就保证了二维数组可以用来存储三个不等长字符串。

2.二维数组的定义及其初始化

  • 静态初始化
int [][]array={{1,2,3},{4,5,6},{7,8,9}};//
  • 常规初始化
int [][]array=new int[常量][常量];//
  • 动态初始化
int [][]array=new int[变量][变量];//java中数组定义允许用数组声明其长度

3.二维数组的输出

  • 二维数组需要用到两个for循环语句控制输出 外层控制行内层控制列

58d49fa502fd8d82189f85a31b286fd4.png

-------上图引自《java核心技术 | 》

  • 如果想快速打印二维数组可以调用
System

bc21283ea056e1b1527a2c007adf43a5.png

-------上图引自《java核心技术 | 》

  • Arrays.deepToString()与Arrays.toString()的区别

Arrays.deepToString()会返回二维数组中的值,而Arrays.toString()是打印里面一位数组的地址,对于Arrays.toString()不会打印出数组中的内容,只会以地址的形式打印出来。

4.简述java和c/c++在二维数组的区别

  • java中没有二维数组的概念你可以认为是‘假’二维数组,java只有一位数组的概念,因为它创建了数组引用来指向在其位置(堆内存)开辟的一位数组。一位数组长度可以不等长,java中允许指定一维长度而不指定二维长度。
  • c++中创建的二维数组是每一维都是相同大小不会出现不等长的情况这也就说明为什么我们在中穿创建二维数组时必须在第二个索引符号处赋初值。

-----------------------------------会持续更新完善文章内容----------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值