存储结构区别:
C数组:数组空间是一次性给定的,优先访问低地址,自底向上而放元素。
在内存中是连续存储的,并且所有数组都是连续的,都可作为一维数组看待。
如下图,一个二维数组就可以看成一个一维数组,只是里面存放的元素为一维数组。所以C中的数组是呈线性结构。

而Java中的数组就不一样了,在Java中,数组都是引用实体变量,呈树形结构,每一个叶子节点之间毫无关系,只有引用关系,每一个引用变量只引用一个实体。
如图,上面的例子是这样表示的。

声明,创建和初始化区别:
这个两者基本差不多。
在C中:数组[ ]中要给定一个常量,不能是变量。如果想不指定数组的确定大小就必须初始化,数组元素个数根据初始化内容来决定。
在Java中,一维数组和C中类似,二维数组可以不指定二维长度,每一行必须加{ },有两两种创建和赋值的方法。
假设定义一个二维数组:

int [][] array={{1,2,3}{4,5,6}{7,8,9}{10,11,12}
};

在C中,数字外的第一个括号完全可以去掉。可加可不加,如下

int arr[]={1,2,34,5,67,8,910,11,12};

但是Java必须加,因为C中的数组是按线性结构顺序存储的,所以arr[0][4]与arr[1][0]是同一个元素,不会影响结果。但是在Java中是树形结构,每一个数组元素(即每一个实体)之间是没有联系的,所以Java中不存在arr[0][4]元素,必须加以括号分行写。

Java和C的数组区别相关推荐

  1. java的集合和数组_Java集合和数组的区别

    Java集合和数组的区别 集合和容器都是Java中的容器. 区别 数组特点:大小固定,只能存储相同数据类型的数据 集合特点:大小可动态扩展,可以存储各种类型的数据 转换 数组转换为集合: Arrays ...

  2. Java NIO与IO的区别和比较

    Java NIO与IO的区别和比较 导读 J2SE1.4以上版本中发布了全新的I/O类库.本文将通过一些实例来简单介绍NIO库提供的一些新特性:非阻塞I/O,字符转换,缓冲以及通道. 一. 介绍NIO ...

  3. java提高篇之数组(2)

    前面一节主要介绍了数组的基本概念,对什么是数组稍微深入了一点点,在这篇博文中主要介绍数组的其他方面. 三.性能?请优先考虑数组 在java中有很多方式来存储一系列数据,而且在操作上面比数组方便的多?但 ...

  4. java.io和util的区别_Java NIO与IO的区别和比较

    Java NIO与IO的区别和比较 导读 J2SE1.4以上版本中发布了全新的I/O类库.本文将通过一些实例来简单介绍NIO库提供的一些新特性:非阻塞I/O,字符转换,缓冲以及通道. 一. 介绍NIO ...

  5. java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用

    java/03/类与对象,深入分析类与对象(权限修饰,构造方法和简单java类),数组的定义及使用 七十年代,IBM的Smalltalk语言最先推广面向对象,后来C语言变为C++,后来C++又产生了J ...

  6. java for in 循环_js的for in循环和java里foreach循环的区别分析

    本文实例分析了js的for in循环和java里foreach循环的区别.分享给大家供大家参考.具体分析如下: js里的for in循环定义如下: for(var variable in obj) { ...

  7. java基础5 (一维)数组和二维数组

    本文知识点(目录): 一维数组(一维数组的概念.优点.格式.定义.初始化.遍历.常见异常.内存分析以及常见操作(找最大值.选择排序.冒泡排序等等))     二维数组(二维数组的遍历.排序.查找.定义 ...

  8. JAVA与C语言的区别之我见

    JAVA与C语言的区别之我见 1.     语言背景: C语言是在单机时代应用非常广泛, c语言是基于汇编语言和高级语言间的一种中级语言,它融合了高级语言的简单易用和汇编语言的执行效率.而Java是在 ...

  9. c++ java setobjectarrayelement_Android jni中数组参数的传递方式

    1.背景 今天调试了一下Android jni关于Java中调用C代码的程序,发现我的数组参数传递方式不对,导致值传递不正确,我的方法是: C代码,入口函数 #include #include jin ...

最新文章

  1. unix网络编程之简介
  2. 关系计划笔谈(9-1):泛BOM与虚拟产品
  3. Java线程详解(17)-原子量
  4. GET_GLOBALS_FROM_SLVC_FULLSCR
  5. 倒计时 3 天 | 神策 2019 数据驱动大会即将开幕
  6. C++ 字符串编程训练1
  7. linux权限提升,Linux权限提升
  8. 通用智能传感集线器(Sensorhub)介绍
  9. 汇编语言:编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储b段中
  10. 服务器配置列表在哪个文件夹,FolderMagic
  11. Kotlin学习笔记 第二章 类与对象 第一节类与继承(补)
  12. 写个脚本快速启动前后端
  13. Flutter进阶—实现动画效果(十)
  14. zabbix 监控项自动发现过滤_zabbix怎么使用自动发现添加新监控项
  15. oracle查询undo表空间使用率,检查Undo表空间使用情况
  16. 在C#中如何将多个rtf文件内容组合在一起用一个rtf文件保存?
  17. 实现3D 场景——three.js学习篇二之理解基础概念
  18. 应广单片机芯片PMS132B -SOP8/SOP14/SOP16
  19. 通过Nginx反向代理提供网站内嵌
  20. 用verilog HDL实现数字基带信号的2FSK调制

热门文章

  1. ensp模拟器构建局域网络与使用模拟器接入互联网
  2. 用matlab制作一个打枪的小游戏
  3. 大话神武服务器维护,神武4月25日维护公告篇:谈门派技能修改
  4. 一文速学(十八)-数据分析之Pandas处理文本数据(str/object)各类操作+代码一文详解(三)
  5. 实在智能@空客RPA:共启数字化转型新时代
  6. Python | 百度POI获取
  7. java爬虫框架—WebMagic
  8. python字符串去重_Python字符串去重
  9. 小红书种草文案应该怎么写?记住这几个技巧
  10. java web登录页面上记住密码