Java数组与C/C++数组

java数组与C/C++数组的区别与内在联系。

========

该部分属于转载:

  • java的数组是对象;c的数组是数据结构。
  • java的数组声明的时候不能包含数组的大小,只能在新建对象的时候指定数组大小;c的数组可以在声明的时候包含数组大小。
//  java code
int  array[ 10 ];     //  illegal!!!
int  array[]  =   new   int [ 10 ];  //  legal
//  c code
int  array[ 10 ];     //  legal;

  • 新建基本数据类型的java数组的时候,无论在哪里新建,都具有初始值;c的数组仅当在全局变量和静态变量的情况下才有初始值,局部非静态变量没有初始值。
  • java的数组在声明的时候,[]可以在变量的左边或者右边,可以空格也可以不空格;c的数组在声明的时候[]只能在变量的右边。
//  java code
int  array[]  =   new   int [ 3 ];     //  legal;
int [] array  =   new   int [ 3 ];     //  legal;
int  []array  =   new   int [ 3 ];     //  legal;
//  c code
int  [ 12 ] array;         //  illegal
int  array[ 12 ];         //  legal
int  array [ 12 ];         //  legal
============
该部分是自己的总结:

 

Java数组属于对象

<span style="background-color: rgb(255, 255, 255);">byte[] command; //定义了一个数组对象引用</span>

该引用还没有指向任何数组对象,所以此使用command进行读写操作时,会报错。

而对于C语言

<span style="background-color: rgb(255, 255, 255);">byte command[10];</span>
就是定义了一个数组,即使没有赋初值,依然可以使用而不会报错。但是,我们知道一个数组就代表一块内存,使用未初始化的数组就相当于使用一块未初始化的内存,取出的数据时不确定的,这种情况在编程过程中是应当避免的。而Java就是为避免出现这种情况,所以在新建一个数组对象引用时,会默认初始化为null,一旦Java看到null,就会提示出错,提高了程序的安全性。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值