Realokacja pamięci
Ostatnio zmodyfikowano 2016-03-23 08:03
Blonnik Temat założony przez niniejszego użytkownika |
Realokacja pamięci » 2016-03-22 21:56:20 Cześć Mam strukturę słowo : typedef struct slowo { char ang[ N ]; char pol[ N ]; } slowo; Mam też strukturę lista : typedef struct lista { slowo ** s; int n; sort jak_posortowana; } lista; Moim zadaniem jest zaimplementowanie funkcji dopisz, która będzie częścią funkcji init (która ma stworzyć listę słów). Funkcja dopisz ma za zadanie wstawienie jednej struktury slowo do listy L i powinna zadbać o rozszerzenie pamięci tablicy wskaźników o 1 i przydzielić pamięć na nowe słowo oraz skopiować dane. Tak wygląda funkcja init : int init( lista * L, slowo * slowka_dnia, int n ) { int i; for( i = 0; i < n; i++ ) if( !dopisz( L, slowka_dnia[ i ] ) ) return 0; L->jak_posortowana = BRAK; L->n = n; return 1; } A tak wygląda moja funkcja dopisz : int dopisz( lista * L, slowo s ) { L->s =( slowo ** ) realloc( L->s,( L->n + 1 ) * sizeof( slowo * ) ); slowo ** wsk = L->s; **( wsk + L->n ) = s; return 1; } Ogólnie wywala mi program po udanym odpaleniu :/ Mojego autorstwa jest tylko funkcja dopisz, więc na 100% w niej siedzi błąd. Macie jakieś pomysły ? |
|
darko202 |
» 2016-03-23 08:03:13 |
|
« 1 » |