00问答网
所有问题
为什么c语言数组大小拒绝动态定义?
都知道c语言不允许对数组的大小进行动态的定义,但是为什么这么设置啊?可以动态定义不是更方便编程吗?貌似qbasic都可以动态.
举报该问题
推荐答案 2007-10-14
假设用变量i来定义数组,比如初始i=5,那么定义了一个长度为5的数组,以后i变为了6,那么数组长度动态为了6
而数组是地址连续的存储单元,长度增加了,必然导致多占了单元,而地址是连续的,不能保证增加的存储单元是没有被使用的,也就是空资源,这样就会破坏程序,是灾难性的损失
因此,不能够动态定义,只能够静态定义
不过,如果你需要动态,可以使用链表的方式实现链式存储结构
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/r0Z0II0e.html
相似回答
C语言
中不允许对
数组大小
作
动态定义
,
什么
意思?
答:
数组
的
大小
在编译期就是确定的,
动态
的呢就是不确定的了,比如 int a =10; int
array
[a]; 这个array就是不确定的 define MAX 10 int array[MAX] 这样是正确的 因为宏
定义
在编译期就进行了替换
在
C语言
中什么叫动态定义,
为什么
不能
动态定义数组
,不明白,希望通_百度...
答:
数组大小
定义在编译连接阶段就已经决定了,所以你不能在程序执行的时候,采用动态赋值的方法来决定数组大小。如果想要
动态定义
一个指定大小的内存,可以采用malloc或者realloc的函数来进行分配。比如我们可以int a =XXXX之类,然后malloc(a)分配xxxx个字节大小的内存使用。
c语言
不允许对
数组大小
作
动态定义
是真的是假的
答:
当然是真的,因为如果允许动态效率就太低了
。当然如果你真的有这个需求,你可以自己从堆中动态申请内存来实现
c语言数组
能
动态
分配吗?
答:
1、C语言中不支持
。C++中支持变长数组(你可以自行度娘变长数组和alloca函数),但是因为其实在栈上分配,不被推荐使用。做为解决方案,你可以使用C式的malloc函数或者C++式的new函数来在堆上动态分配内存,这样长度是完全可以自定的。2、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供...
大家正在搜
c语言中可以动态定义数组的大小
c语言不允许对数组大小动态定义
c语言定义数组时可以不指定大小吗
c语言定义数组大小
c语言中如何定义动态数组
c语言可变数组怎么定义
C语言定义数组时不规定长度
c语言数组不定义长度
c语言定义数组长度
相关问题
C语言中不允许对数组大小作动态定义, 什么意思?
c语言不允许对数组大小作动态定义是真的是假的
在C语言中什么叫动态定义,为什么不能动态定义数组,不明白,希...
关于C语言中定义数组大小的问题(最多能定义多少)
C语言中怎么定义动态的数组长度?
C语言中怎么定义动态的数组长度
C语言中数组长度不能用变量定义吗?
c语言中什么时候数组不必定义大小,直接用[]表示。 麻烦告诉...