Tablice w C przydział pamięci
Mariusz:
Ponowny przydział pamięci na tablicę w C
Jak wyglądałby taki przydział pamięci na przykładzie tablicy znakowej
np chcemy wczytać zawartość pliku do tabilcy znakowej ale
nie wiemy ile znaków będziemy potrzebować
Myślę że tablica do której wczytujemy plik powinna być dwuwymiarowa
(wskaźnik na wskaźnik) a ponowny przydział pamięci może się przydać gdy
chcemy tylko raz czytać z dysku
Wydaje mi się że stosując to podejście stracimy trochę więcej pamięci
niż byśmy wczytywali linie w pliku do listy (jedno lub dwukierunkowej)
3 gru 10:01
g: Funkcja ftell w połączeniu z fseek podaje rozmiar pliku.
3 gru 10:14
Dziadek Mró6:
3 gru 12:22
3 gru 19:41
Mariusz:
Ale czy użycie tych funkcji nie wiąże się z przeczytaniem pliku
Poza tym jak póżniej użyć tego do zarezewowania pamięci na tablicę
Co ze ponownym przydziałem pamięci
Czy funkcja realloc jest przenośna (np funkcje z console input output nie są )
I jak zrealizować taki przydział z użyciem funkcji malloc , strcpy , strcat
3 gru 20:00
Dziadek Mróz:
fseek po prostu zmienia punkt z jakiego będziesz czytał plik. Poszukaj kodu źródłowego to
znajdziesz, że tam zmieniane są flagi i ustawienia pliku
3 gru 20:56
Mariusz:
A co z własnym łańcuchem podobno do jego zrealizowania dobrym pomysłem będzie
struktura drzewiasta
Ja na razie bawiłem się trochę listą i strukturami na niej bazującymi
3 gru 21:08
Mariusz:
Załóżmy że skorzystałbym z tych funkcji wtedy zarezerwować pamięć na
tablicę z jednym wskaźnikiem ?
Myślałem o tablicy z dwoma wskaźnikami
To z tym plikiem to był tylko przykład
jak wam się nie podoba to chętnie zobaczę wasz przykład kiedy przydatna
byłaby zmiana rozmiaru tablicy
3 gru 21:18
3 gru 23:06