一、主体不同
1、静态数组:是在声明时已经确定子数组大小的数组。
2、动态数组:指在声明时没有确定数组大小的数组。
二、特点不同
1、静态数组:即数组元素的个数固定不变。
2、动态数组:即忽略圆括号中的下标;当要用它时,可随时用ReDim语句重新指出数组的大小。
三、优缺点不同
1、静态数组:已经确定子数组大小的数组。会造成空间浪费。
2、动态数组:使用动态数组的优点是可以根据用户需要,有效利用存储空间。
参考资料来源:百度百科-动态数组
参考资料来源:百度百科-静态数组
静态数组是在定义是就已经在栈上分配了空间大小,在运行时这个大小不能改变,如:
int a[10];
动态数组的大小是在运行是给定,即,运行时在堆上分配一定的存储空间,同时运行时还可以改变其大小,如:
int *a;
a = new int[10];
静态数组就是你一开始就定好了他的大小,在你写入数据是他的容量范围不再发生变化,而动态数组就是一开始你没确定好他的大小,而只用了A[n],在写入的时候这个n是任意的.其实你网上查一下也很多的.我学了都快忘了,你参考一下吧
静态数组不能改变长度,在编译时就知道长度,系统把这个数组分配到数据区,而动态数组是在程序运行时才知道大小,而且可以改变长度,系统把它分配到堆栈区
链接: https://pan.baidu.com/s/1E79G006IL4fnyjoRL0v9aw
静态数组,其实在很多的时候,静态数组根本不能满足我们编程的实际需要,比方说我需要在程序运行过程中动态的向数组中添加数据,这时我们的静态数组大小是固定的,显然就不能添加数据,要动态添加数据必须要用到动态数组,动态数组中的各个元素类型也是一致的,不过这种类型已经是用一个非常大的类型来揽括—t类型。