Zakres materiału: Struktury, typ wyliczeniowy, dynamiczna alokacja pamięci. (5 pkt)
lab6
utworzyć nowy projekt zad1
i do głównego pliku projektu skopiować zawartość pliku źródłowego zad1.c
.zaplac
, dzięki której sprawdzimy, czy klienta stać na same OWOC
e (linie 32-43).Opracowanie struktury składającej się ze wskaźnika char * do którego alokujemy ciąg znaków (malloc) oraz zmiennej int przechowującej ilość alokowanych znaków tego ciągu. Dodajemy także funkcje alokujące ten ciąg i zwalniające go (free) np.:
struct tablica { char * wsk; int len; };
char *zdanie="Ala ma mola";
struct tablica a;
a.len=strlen(zdanie); // rozmiar może być długością kopiowanego ciągu tekstowego
a.wsk=malloc(a.len*sizeof(char)); // to w funkcji alokującej skopiować zdanie do a.wsk
if (a.wsk) {free(a.wsk); a.wsk=NULL;} //dodać do funkcji usuwającej
Modyfikacja zad1 - zamiana wszystkich ciągów znaków alokowanych w strukturze przedmiot na stosie (statycznie) np. char imie[MAX_LEN]; na alokowane dynamicznie z wykorzystaniem struktury i funkcji z poprzedniego zadania.