我正在制作的游戏中需要一个结构体数组-但我不想将数组限制为固定大小。有人告诉我有一种方法可以在需要时使用realloc使数组变大,但找不到任何可行的示例。
有人可以告诉我该怎么做吗?
最佳答案
首先创建数组:
structName ** sarray = (structName **) malloc(0 * sizeof(structName *));
始终单独跟踪尺寸:
size_t sarray_len = 0;
增加或截断:
sarray = (structName **) realloc(sarray, (sarray_len + offset) * sizeof(structName *));
然后设置大小:
sarray_len += offset;
乐于提供帮助,希望对您有所帮助。