7.11 我如何在运行期设定数组的大小 ? 我怎样才能避免固定大小的数组 ?

由于数组和指针的等价性 (参见问题 6.3), 可以用指向 malloc 分配的 内存的指针来模拟数组。执行
    #include <stdlib.h>
    int *dynarray;
    dynarray = malloc(10 * sizeof(int));
以后 (如果 malloc 调用成功), 你可以象传统的静态分配的数组那样引用 dynarry[i] (i 从 0 到 9)。唯一的区别是 sizeof 不能给出 ``数组" 的大小。 参见问题 1.12、 6.13 和 7.9

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)