【发布时间】:2011-12-11 03:22:14
【问题描述】:
我正在用 C 语言实现一个函数,我将一个 byte[] 转换为一个 int[]。问题是 int[] 的长度取决于 byte[] 的内容(不仅仅是 byte[] 的长度),所以在我迭代之前我不会知道 int[] 的总长度整个字节[]。因此,我正在寻找某种形式的 av int-stream 或动态增加的 int-list,我可以将其写入,然后在完成所有 int 的写入后转换为 int[]。目前我的 C 经验有点有限,所以我不太确定解决这类问题的最佳实践是什么。有什么建议吗?
【问题讨论】:
-
使用 C,您可以表达这些结构,但您认为最合适。这是优点还是缺点取决于您的观点。
-
你知道
byte[]在到达终点之前的大小吗? -
@stevehb - 不,在评估
byte[]之前,他不知道int[]的大小。 -
单次通过的解决方案将需要 realloc,随着阵列的增长,这更有可能失败。当然,除非你正在做一些严肃的处理,否则它不太可能......