C中的内部流程

Yrl*_*lec 2 c arrays int byte stream

我正在C中实现一个函数,我将byte []转换为int [].问题是int []的长度取决于byte []的内容(而不仅仅是byte []的长度)所以在迭代之前我不会知道int []的总长度整个字节[].因此,我正在寻找一些形式的av int-stream或动态增加的int-list,我可以写入,然后在我写完所有的int后转换为int [].我的C体验目前有点受限,所以我不确定什么是解决这类问题的最佳实践.有什么建议?

Jim*_*hel 5

最简单的方法是将其分配为int[]相同的长度(元素数量)byte[],当你完成并知道大小时,调用realloc缩小它.

当然,这假设解释数据永远不会创建比流中的字节更多的整数.

  • @steve:重点是选择一个随机大小,保证大于你需要的大小(所以它不会溢出),然后在你完成时将它缩小到正确的大小. (2认同)