java和c、c++中数组的区别

原创 2016年08月29日 10:18:23

在c、c++中使用数组是很危险的,因为c和c++中的数组就是内存块。如果一个程序要访问其自身内存块之外的数组,或在数组初始化之前使用内存(程序中常见的错误),就会产生难以预料的后果。


java的主要目标之一就是安全性。java确保数组会被初始化,而且不能再它的范围之外被访问。这种范围检查,是以每个数组上少量的内存开销及运行时的下标检查为代价的。当由此换来的是安全性和效率的提高,因此付出的代价是值得的。


当创建一个数组对象时,实际上就是创建了一个引用数组,并且每个应用会自动被初始化为一个特定值,该值拥有自己的固定值null。一旦java看到null,就知道这个引用还没有指向某个对象。如果试图使用一个还是null的引用,在运行时将会报错。因此,常犯的数组错误在java中就可以避免。

版权声明:本文为博主原创文章,未经博主允许不得转载。

C和JAVA中数组的区别

看一个小例子: 代码1(C) #include int main(void) {     int i = 0;     int num = 3;     //int a[3] = {1,2,4};...
  • cleanness
  • cleanness
  • 2013年07月15日 22:18
  • 1142

数组在java与C++中的不同

如果你熟悉C/C++,Java数组的工作原理与它们不同。Java中的数组是对象,这就意味着与C++中的数组的根本不同.      1、数组不是集合,它只能保存同种类型的多个原始类型或者对象的引用...
  • seadplus
  • seadplus
  • 2012年04月10日 22:02
  • 2730

Java与C语言数组实现机理的一点对比

想看一下Java的数组实现机制是否与C语言一致,同时看看是不是被隐藏掉的指针功能实现的类似数组访问功能。Java中是不是还有什么类似简写这样的表示说明呢?写了两段简单的代码示意一下。 C语言代码: ...
  • grey_csdn
  • grey_csdn
  • 2017年03月12日 12:31
  • 205

C语言二维数组的内存结构图与Java二维数组的内存结构图

C语言二维数组的内存结构图与Java二维数组的内存结构图。。。。。。
  • songshiMVP1
  • songshiMVP1
  • 2015年10月25日 00:36
  • 1396

Java中 数组作业的练习

Java中 数组的练习      结合上一篇的数组复习,本篇给出一些数组的练习 实例代码一:...
  • u010504064
  • u010504064
  • 2014年09月26日 18:42
  • 4992

Java中数组的存储与内存分配

Java数组及其内存分配 [日期:2013-03-28] 来源:Linux社区  作者:xiaoxuetu [字体:大 中 小] 几乎所...
  • chenleixing
  • chenleixing
  • 2015年02月26日 20:13
  • 2725

C语言:数组和指针的区别

实际上关于数组与指针的区别这个问题在《C专家编程》已经有很详细的阐释,但我想用自己的语言说一说我的理解。数组是指针?最近在做数据结构课设,其中一个函数发生了令人费解的错误,简化后的代码如下:#incl...
  • imred
  • imred
  • 2015年05月02日 19:08
  • 13198

数组中&a与&a[0]的区别

在探讨这个问题之前,我们首先来看一道笔试题,如下:   【摘自牛客网】下列代码的结果是:(正确答案是 C)main() { int a[5]={1,2,3,4,5}; int ...
  • FX677588
  • FX677588
  • 2017年07月09日 10:34
  • 419

C/C++静态数组与动态数组的区别

简介以下三行代码有什么区别?int a[10]; int *a = (int*)malloc(sizeof(int)*10); int *a = new int[10]; 第一行代码定义a为包含10个...
  • bendanban
  • bendanban
  • 2016年04月25日 19:11
  • 2719

java 集合体系结构以及集合和数组的区别

数组和集合的定义 一、数组 数组是java语言内置的数据类型,他是一个线性的序列,所有可以快速访问其他的元素,数组和其他语言不同,当你创建了一个数组时,他的容量是不变的,而且在生命周期也是不能改变...
  • xnf1991
  • xnf1991
  • 2016年11月02日 13:26
  • 2620
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java和c、c++中数组的区别
举报原因:
原因补充:

(最多只允许输入30个字)