Witam
Mam problem przy wpisywaniu liczb do tablicy dynamicznej. Zaalokowałem potrzebną ilość miejsca w osobnej funkcji w ten sposób:
[...] *Adres = (int*) malloc(*Rozmiar * sizeof(int)); [...]
i ta cała funkcja jest na pewno poprawna. Gdy jednak w innej funkcji chcę wpisać do tej tablicy liczby podawane przez użytkownika, po wpisaniu drugiej liczby wyskakuje błąd ochrony pamięci. Robię to w ten sposób
for(a; a<*Rozmiar-1; a++)
{
printf("Podaj kolejne liczby\n");
scanf("%i", Adres[a]);
printf("Zapisalem %i", *Adres[a]);
}
Adres i rozmiar tablicy jest też poprawnie przekazany do funkcji która ma w nią wpisywać dane.
Gdzieś tu jest banalny błąd którego nie widzę i nie mogę się domyślić co tu nie gra :)
Sprawdzałem także adresy komórek pamięci do których chciałem wpisać liczby (printf("%i", &Adres[a])) i zgadzały się one z tymi zaalokowanymi w poprzedniej funkcji. Czyżby jakiś głupi błąd w konstrukcji pętli for?
Jeśli będzie potrzeba mogę wkleić cały kod i objaśnić dokładniej na czym ma polegać program, ale generalnie chodzi mi o to jak poprawnie zapisać dynamiczną tablicę jednowymiarową. Wydawało mi się że to ma być tak jak zrobiłem, ale najwyraźniej się mylę :)
Z góry dzięki za pomoc
Pozdrawiam