可变长度数组

时间:2010-05-03 15:52:32

标签: c c99

我想知道如何管理可变长度数组(为了拥有可变长度数组,堆栈上保留了多少额外的变量或数据结构)。

非常感谢。

3 个答案:

答案 0 :(得分:4)

它只是一个动态大小的数组(依赖于实现,但最常见于堆栈)。它与过去的alloca非常相似,但sizeof将返回数组的实际大小,这意味着数组的大小也必须存储在某处(依赖于实现的好吧,但也可能在堆栈上。)

答案 1 :(得分:1)

可变长度数组的大小是在运行时确定的,而不是编译时间 它的管理方式取决于编译器 例如,GCC在堆栈上分配内存。
但是没有特殊的结构。它只是一个普通的数组,其大小在运行时是已知的。

答案 2 :(得分:-2)

或者你可以使用一些容器,例如java中的ArrayList或c / c ++中的vector