prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 6.15

我如何声明一个大小与传入数组匹配的局部数组?


直到最近,你还不能做到这一点;C 语言中数组的维度传统上必须是编译时常量。然而,C99 引入了可变长度数组 (VLA),这解决了这个问题;局部数组的大小可以由变量或其他表达式(可能涉及函数参数)来设置。(gcc在一段时间内以扩展的形式提供了参数化数组。)如果你不能使用 C99 或gcc,你将不得不使用malloc,并记得在函数返回前调用free。另请参阅问题 6.146.166.197.22,以及可能的 7.32

参考:ISO Sec. 6.4, Sec. 6.5.4.2
C9X Sec. 6.5.5.2


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管