У меня есть массив списков, размер которого я хочу удвоить. Я использую realloc, и когда я начинаю заполнять новые элементы массива, начальные элементы начинают становиться NULL, и я не могу изменить их значение.
int x;
Heads=realloc(Heads, TABLESIZE * sizeof(struct HTLink));
S=realloc(S, TABLESIZE * sizeof(HTHash));
for(x=TABLESIZE;x<TABLESIZE*2;x++)
{
S[x]=(HTNode *)malloc(sizeof(HTNode));
S[x]->Key=EmptyKey;
S[x]->Next=NULL;
Heads[x]=*S[x];
}
TABLESIZE*=2;
return S;
После запуска этого кода значения S [2] и выше нормальные, но S [0] и S [1] равны NULL