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

都知道c语言不允许对数组的大小进行动态的定义,但是为什么这么设置啊?可以动态定义不是更方便编程吗?貌似qbasic都可以动态.

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

因此,不能够动态定义,只能够静态定义
不过,如果你需要动态,可以使用链表的方式实现链式存储结构
温馨提示:答案为网友推荐,仅供参考