为什么c语言数组大小拒绝动态定义?

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:43:02
都知道c语言不允许对数组的大小进行动态的定义,但是为什么这么设置啊?可以动态定义不是更方便编程吗?貌似qbasic都可以动态.

假设用变量i来定义数组,比如初始i=5,那么定义了一个长度为5的数组,以后i变为了6,那么数组长度动态为了6
而数组是地址连续的存储单元,长度增加了,必然导致多占了单元,而地址是连续的,不能保证增加的存储单元是没有被使用的,也就是空资源,这样就会破坏程序,是灾难性的损失

因此,不能够动态定义,只能够静态定义
不过,如果你需要动态,可以使用链表的方式实现链式存储结构