c - 如何在 C89 中实现编译时大小未知的数组?

标签 c arrays c89

抱歉,我是 C 的新手,想知道在引入 C99 标准之前如何创建一个在编译时大小未知的数组。

最佳答案

这很容易。例如,如果要创建可变长度的一维 int 数组,请执行以下操作。首先,声明一个指向 int 类型的指针:

int *pInt;

接下来,为其分配内存。您应该知道需要多少个元素 (NUM_INTS):

pInt = malloc(NUM_INTS * sizeof(*pInt));

不要忘记释放动态分配的数组以防止内存泄漏:

free(pInt);

关于c - 如何在 C89 中实现编译时大小未知的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20802302/

相关文章:

hex - 在 C 中打印出 char* 数组的十六进制值给出二进制输入的奇数值

如果正确阻止,CUDA 代码不会处理

javascript - 使用方法 sort() 对数组元素中的符号进行排序

c - C 中的矩阵排序

java - 我如何检查列表是否是最小二进制堆(java)?

javascript - 如何有效地比较具有不同键但可能匹配值的2个对象?

linker - C - 为什么 ANSI 仅指定 6 个字符作为外部标识符中有效字符的最小数量?

c - 如何在 C 中初始化类型定义 union 的结构?

c - 两个信号量不通信

c - C 中埃拉托色尼筛法算法的分割错误