Spis treści

Zajęcia 9 - Struktury

Deklaracja struktury i typedef

#include <stdio.h>
#include <string.h>
 
#define MAX 256
 
// deklaracja typu struct osoba
struct osoba
{
   char nazwisko[MAX];
   char imie[MAX];
   int wiek;
};
 
typedef struct osoba DANE;
 
int main()
{
   struct osoba agent;
   DANE student;      
   struct osoba *wsk;
 
   strcpy(agent.nazwisko,"Bond");
   strcpy(agent.imie,"James");
   agent.wiek = 33;
 
   strcpy(student.nazwisko,"Kowalski");
   strcpy(student.imie,"Jan");
   student.wiek = 21;
 
   printf("Imie     %s\nNazwisko %s\nWiek     %d\n\n",agent.imie,agent.nazwisko,agent.wiek);
   printf("Imie     %s\nNazwisko %s\nWiek     %d\n\n",student.imie,student.nazwisko,student.wiek);
 
   wsk = &agent;
   strcpy((*wsk).nazwisko,"Kloss");
   strcpy(wsk->imie,"Hans");
   wsk->wiek--;
 
   printf("Imie     %s\nNazwisko %s\nWiek     %d\n\n",agent.imie,agent.nazwisko,agent.wiek);
}

Ćwiczenia:

Zadania domowe

* przekształć bazę danych osobowych z poprzednich zajęć tak aby tablica zawierająca struktury była przydzielana dynamicznie. Na tworzymy bazę mogącą pomieścić 10 wpisów a przypadku gdy tablica zostanie całkowicie wypełniona zwiększamy jej rozmiar dwukrotnie (za pomocą funkcji realloc) * zimplementuj prostą baze danych osobowych w oparciu o listę jednokierunkową