Witam. Potrzebuję pomocy w następującym zadaniu.
"Napisz program, który najpierw zapyta operatora o liczbę słów do wprowadzenia, następnie przyjmie słowa na wejście, a potem wypisze wszystkie wprowadzone słowa.
Program powinien użyć pamięci przydzielanej dynamicznie (za pomocą funkcji malloc()) na podstawie wprowadzonej liczby słów do utworzenia
tablicy wskaźników do typu char (skoro każdy element tablicy będzie wskaźnikiem do typu char, wskaźnik użyty do przechowania wartości zwracanej z wywołania malloc() powinien być typu wskaźnika do wskaźnika do typu char).
Kolejne słowa powinny być wczytywane do tymczasowej tablicy znaków, aby potem za pomocą wywołania malloc() przydzielić dla słowa obszar wystarczający do przechowania tego słowa; po skopiowaniu słowa do przydzielonego obszaru pamięci program powinien zapisać adres przydzielonego obszaru w kolejnym elemencie
tablicy.
Ostatecznie program powinien więc wytworzyć tablicę wskaźników, z których każdy wskazuje do obiektu o rozmiarze dokładnie odpowiadającym rozmiarowi przechowywanego w nim ciągu znaków. Przykładowe uruchomienie programu powinno wyglądać tak:
Podaj liczbe slow do wprowadzenia: 5
Wprowadz 5 slow:
calkiem niezle cwiczenie z pamiecia
Oto wprowadzone slowa:
calkiem
niezle
cwiczenie
z
pamiecia"
Nasuwa mi się parę pytań, a mianowicie:
-W jaki sposób utworzyć dynamiczną tablicę wskaźników do char? (Wiem, że niedynamicznie wygląda to tak: char * wsk[rozmiar];)
Spotkałem się jedynie z tworzeniem zwykłej dynamicznej tablicy:
char * tab = (char *) malloc(rozmiar * sizeof(char));
-Po wczytaniu słów do dynamicznej tablicy znaków, w jaki sposób mam obliczyć długość każdego słowa, żeby później utworzyć odpowiednią ilość miejsca na każde z nich?