动态数组和静态数组的区别(java动态数组和静态数组的区别)
http://www.itjxue.com 2023-01-25 00:03 来源:未知 点击次数:
什么是动态数组
动态数组是指在声明时没有确定数组大小的数组,即忽略方括号中的下标。使用时,可随时用ReDim语句(C语言中用malloc语句)重新指出数组的大小。
动态数组,是相对于静态数组而言。静态数组的长度是预先定义好的,在整个程序中,一旦给定大小后就无法改变。
而动态数组则不然,它可以随程序需要而重新指定大小。动态数组的内存空间是从堆(heap)上分配(即动态分配)的。是通过执行代码而为其分配存储空间。当程序执行到这些语句时,才为其分配。程序员自己负责释放内存。使用动态数组的优点是可以根据用户需要,有效利用存储空间。
动态数组与静态数组的对比:
对于静态数组,其创建非常方便,使用完也无需释放,要引用也简单,但是创建后无法改变其大小是其致命弱点。
对于动态数组,其创建麻烦,使用完必须由程序员自己释放,否则严重会引起内存泄露。但其使用非常灵活,能根据程序需要动态分配大小。
VB中动态数组与静态数组的区别 ?
VB中动态数组就可以在任何时候改变大小,静态数组只能够预先设置大小,过度使用这种方法,会导致内存的操作环境变慢。
Visual Basic 中有两种类型的数组:固定大小的数组 —?它总是保持同样的大小,以及在运行时大小可以改变的动态数组。
在 Visual Basic 中,动态数组最灵活、最方便,有助于有效管理内存。例如,可短时间使用一个大数组,然后,在不使用这个数组时,将内存空间释放给系统。
如果不用动态数组,就要声明一个数组,它的大小尽可能达到最大,然后再抹去那些不必要的元素。但是,如果过度使用这种方法,会导致内存的操作环境变慢。
动态数组跟静态数组的区别?
动态数组是在程序运行时创建的,可以根据用户需要,有效利用存储空间:int *h=new int[10];静态数组在声明时就已经确定大小的数组,即数组元素的个数固定不变:int h[10];
