静态数组和动态数组的区别是什么?考试中 求大侠帮忙

2025-03-25 06:18:21
推荐回答(5个)
回答1:

一、主体不同

1、静态数组:是在声明时已经确定子数组大小的数组。

2、动态数组:指在声明时没有确定数组大小的数组。

二、特点不同

1、静态数组:即数组元素的个数固定不变。

2、动态数组:即忽略圆括号中的下标;当要用它时,可随时用ReDim语句重新指出数组的大小。


三、优缺点不同

1、静态数组:已经确定子数组大小的数组。会造成空间浪费。

2、动态数组:使用动态数组的优点是可以根据用户需要,有效利用存储空间。


参考资料来源:百度百科-动态数组

参考资料来源:百度百科-静态数组

回答2:

静态数组是在定义是就已经在栈上分配了空间大小,在运行时这个大小不能改变,如:
int a[10];
动态数组的大小是在运行是给定,即,运行时在堆上分配一定的存储空间,同时运行时还可以改变其大小,如:
int *a;
a = new int[10];

回答3:

静态数组就是你一开始就定好了他的大小,在你写入数据是他的容量范围不再发生变化,而动态数组就是一开始你没确定好他的大小,而只用了A[n],在写入的时候这个n是任意的.其实你网上查一下也很多的.我学了都快忘了,你参考一下吧

回答4:

静态数组不能改变长度,在编译时就知道长度,系统把这个数组分配到数据区,而动态数组是在程序运行时才知道大小,而且可以改变长度,系统把它分配到堆栈区

回答5:

链接: https://pan.baidu.com/s/1E79G006IL4fnyjoRL0v9aw

提取码: d6gp

静态数组,其实在很多的时候,静态数组根本不能满足我们编程的实际需要,比方说我需要在程序运行过程中动态的向数组中添加数据,这时我们的静态数组大小是固定的,显然就不能添加数据,要动态添加数据必须要用到动态数组,动态数组中的各个元素类型也是一致的,不过这种类型已经是用一个非常大的类型来揽括—t类型。