Перераспределение двумерных динамических c массивов указателей в C - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть такой массив

 int (*arr)[10];
 unsigned int size = 2 * 10;
 arr = (int*) malloc(size * sizeof(int));

Так что я могу использовать arr [0] [0] и arr [0] [1] до arr [9] 0] и arr [9] [1], однако иногда мне нужно расширить его на подобное arr [3] [3]. В настоящее время я расширяю весь блок памяти на +2 всякий раз, когда мне нужно расширить его, запоминая старое значение размера и добавляя +2 к нему, а затем перераспределяя его на новый размер, например arr = (int*) realloc(arr, size * sizeof(int)); //size is now 22 и так далее. Но это работает, пока я не хочу получить доступ к определенной позиции массива, тогда программы не работают. Я не мог найти ничего о перераспределении массива динамического c этого типа, поэтому я здесь.

Спасибо.

...