Java中数组与C语言中数组的比较 - 论文

更新时间:2024-01-11 16:40:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

维普资讯 http://www.cqvip.com

第11卷第3期 新余高专学报 Vo1.11,NO.3 2006年6月 JOURNAL 0F XINYU COLLEGE Jun.2006 Java中数组与C语言 中数组的比较 ●李舒亮 (新余高等专科学校计算机系,江西新余338000) 摘要:从多方面比较数组在jrtva与C语言中的区别,根据它们在内存中的表现形式,找出其差别的根本原因。 关键词:数组;对象;引用变量;区别;java.;c语言 中图分类号:TIll2 文献标识码:A文章编号:1008—6765(2006)03—0085—03 数组是高级程序设计语言中常见的数据类型, type[] arrayName; 它是一组有序数据的集合,数组中的每个元素都具 其中类型type可以为Java中任意的数据类,数 有相同的数据类型。用数组名和下标来标识数组中 组名arrayName为一个合法的标识符,[]指明该变量 的每个元素。使用数组可以为处理成批的、有内在 是一个数组类型变量。例如:int a[]; 联系的数据提供便利,使用数组也使得算法的实现 声明一个整型数组,数组名表示一个引用地址 更加精炼。 变量,与C不同,Java在数组的定义中并不为数组元 在java和c语言中都提供了数组这种数据类 素分配内存,因此[]中不用指出数组中元素个数,即 型,但它们有很大的区别,在c语言中数组是一种构 数组长度,而且对于如上定义的一个数组是不能访 造类型,而在java中数组是一种引用类型。两者在 问它的任何元素的。我们必须用new运算符为它分 内存中的表现形式是完全不同的。由此而引出的对 配内存空间,其格式如下: 数组的操作也有很大的区别。下面就这个问题进行 arrayName=new type[arraySize]; 讨论。 其中arraySize指明数组的长度。如:a=new 1 数组的定义上的不同 intV5]; 以一维数组的定义为例来说明: 为一个整型数组分配5个int型整数所占据的 c语言中的定义格式为:type arrayName[常量表 内存空间,这两部分可以合在一起,格式如下: 达式]; type arrayName=new type[arraySize],例如: 其中类型type可以为C中任意的数据类型,数 int a=new int[5]; 组名arrayName为一个合法的标识符,常量表达式指 它在内存中的表现形式为: 明数组的大小,在C语言中数组的大小不允许作动 态的定义。例如:int a[5]; 声明一个整型数组a,长度为5,包含a[O]、a [1]、a[2]、a[3]、a[4]这5个整型元素,在内存中为 这个数组分配一片连续的内存空间存放这5个元素, 数组名可以表示数组的首地址,但并没开创一个内 存空间来存放数组名。它在内存中的表现形式为: 由上图可以看出,数组名有一个单独的内存空 间,存放数组对象的引用地址。这与c语言是不同 Java中的定义格式为:type arrayName[];或 的。 收稿日期:2006—04—08 作者简介:李舒亮(1968一),女,江西分宜人,副教授,主要从事软件及多媒体方面的研究。 

本文来源:https://www.bwwdw.com/article/h6ko.html

Top