任何人都可以向我解释生长结构阵列的概念。 我的意思是动态数组。 谢谢你的时间。
答案 0 :(得分:4)
从一个大小的数组开始,然后每当你需要增加大小时,使用realloc
来执行此操作;每当你调整它的大小时,通常会加倍数组的大小。
例如:
int length = 5;
my_struct *array = NULL;
/* Initialization */
array = (my_struct *)malloc(length * sizeof(my_struct));
/* Use array[0] .. array[length - 1] */
/* When you reach the limit, resize the array */
length *= 2;
array = (my_struct *)realloc(array, length * sizeof(my_struct));
答案 1 :(得分:1)
你的意思是数组的动态大小?在这种情况下,您必须根据需要分配内存。见realloc
答案 2 :(得分:1)
我有一个动态增长的字符串缓冲区实现。你可以从here获得它。它使用相同的malloc
和realloc
技术。
答案 3 :(得分:0)
查看标准库中的realloc
函数。
答案 4 :(得分:0)
查看malloc?