Witam. Mam do napisania taką funkcję:
int concatenate_arrays_int(int **a1, int size1, const int *a2, int size2);
Funkcja dokleja tablicę a2 o długości size2 na koniec tablicy a1 o długości size1 elementów. Funkcja powinna rozszerzyć obszar pamięci zajmowany przez tablicę a1 tak, aby pomieściła size1+size2 elementów. W przypadku niepowodzenia alokacji pamięci zawartość tablic nie powinna zostać zmieniona.
Wartość zwracana
- 0 - w przypadku sukcesu,
- 1 - w przypadku przekazania do funkcji błędnych danych wejściowych lub
- 2 - w przypadku niepowodzenia alokacji pamięci.
Problem pojawia się w tym fragmencie funkcji:
*(*(a1 + i)) = *(a2 + count);
A dokładniej pojawia się błąd SIGSEGV. Nie wiem jaka jest tego przyczyna i co mogłabym zmienić. Byłabym wdzięczna za wskazówki co robię źle i co mogę poprawić.