這是我必須在結構中動態聲明數組的代碼。我動態地分配一個名爲'容量'的大小的數組列表。在我的程序的後期,我想增加數組的大小並重新分配它。我該如何解決它?如何在C中重新分配一個數組中的數組的大小?
struct mystruct {
int x;
struct y **list;
};
包裝函數聲明數組目前的結構
struct mystruct *mystruct_init()
{
struct mystruct *mystruct = calloc(1, sizeof(*mystruct));
// loop through and allocate memory for each element in list
mystruct->list = calloc(1, sizeof(struct y *) * mystruct->list_length);
for (int i = 0; i < capacity; i++)
mystruct->list[i] = calloc(1, sizeof(struct y));
return mystruct;
}
內調用包裝函數
struct mystruct *h1 = mystruct_init();
我的問題是,我該如何使用realloc函數來增加大小清單(容量值的兩倍)?如果有人能幫助我,那將是非常好的。
http://linux.die.net/man/3/realloc – 2012-02-01 21:13:22
@SethCarnegie您編輯殺了一個需要支架。 – Till 2012-02-01 21:13:57
@Till哎呀,固定,縮進,你知道 – 2012-02-01 21:16:18