Datov struktury Co je datov struktura v C

  • Slides: 11
Download presentation
Datové struktury

Datové struktury

Co je datová struktura v C • datový typ složený z jiných datových typů

Co je datová struktura v C • datový typ složený z jiných datových typů • nejjednodušší datová struktura je pole. všechny jeho prvky jsou stejného typu (homogenní datový typ) • ostatní datové struktury mohou obsahovat položky různých typů (heterogenní datový typ) • navenek vystupuje jako jeden datový typ • datovou strukturu je možno definovat celkem 5 způsoby 2

Definice datové struktury 1 triviální – struktura není pojmenována, odvolávají se na ni jednotlivé

Definice datové struktury 1 triviální – struktura není pojmenována, odvolávají se na ni jednotlivé proměnné: struct { int vyska; float vaha; } pavel, honza, karel; 3

Definice datové struktury 2 • modifikace - struktura je pojmenovaná, lze ji použít i

Definice datové struktury 2 • modifikace - struktura je pojmenovaná, lze ji použít i jinde v programu: struct miry { int vyska; float vaha; } pavel, honza, karel;

Definice datové struktury 3 • oddělená definice od proměnných – jinak stejné jako předchozí:

Definice datové struktury 3 • oddělená definice od proměnných – jinak stejné jako předchozí: struct miry { /* definice struktury */ int vyska; float vaha; }; struct miry pavel; /* def. proměnných */ struct miry honza, karel; • Pozor je NUTNO použít klíčové slovo struct! Nelze: miry honza, karel;

Definice datové struktury 4 • pomocí typedef – vzniká nový typ MIRY (struktura nemusí

Definice datové struktury 4 • pomocí typedef – vzniká nový typ MIRY (struktura nemusí být pojmenována): typedef struct { /* def. typu struktury */ int vyska; float vaha; }MIRY; MIRY pavel; /* definice proměnných */ MIRY honza, karel; • Tady bez struct, protože je to definovaný datový typ

Definice datové struktury 5 • jako 4, ale struktura je pojmenována – vzniká nový

Definice datové struktury 5 • jako 4, ale struktura je pojmenována – vzniká nový typ MIRY a struktura miry: typedef struct miry{ /* def. typu str. */ int vyska; float vaha; }MIRY; MIRY pavel; /* definice proměnných */ MIRY honza, karel;

Jak s tím zacházet V praxi se ukazuje jako nejvýhodnější používat způsob 4) nebo

Jak s tím zacházet V praxi se ukazuje jako nejvýhodnější používat způsob 4) nebo 5) – vytvořit nový typ a nadále pracovat pouze s tímto typem. Přístup k prvkům struktury pomocí tzv. tečkové notace: pavel. vyska = 188; karel. vaha = 89. 5; 8

Pole a struktury Je možno definovat pole struktur (1) i strukturu obsahující pole (2):

Pole a struktury Je možno definovat pole struktur (1) i strukturu obsahující pole (2): (1) MIRY lide[50]; přístup k prvkům struktury: lide[23]. vyska=178; (2) typedef struct{ int a[100]; }STR_POLE; STR_POLE aaa, bbb; přístup k prvkům struktury: aaa. a[3] = 5; 9

Pole a struktury 2 Je možno pracovat s celou strukturou najednou: honza = pavel;

Pole a struktury 2 Je možno pracovat s celou strukturou najednou: honza = pavel; aaa = bbb; 10

Příklad na práci se strukturami Zde si můžete stáhnout příklad na práci s datovými

Příklad na práci se strukturami Zde si můžete stáhnout příklad na práci s datovými strukturami 11