Typ struktura (1) Datový typ struktura (struct) je agrego-vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou mít různé datové.

Slides:



Advertisements
Podobné prezentace
A1PRG - Programování – Seminář Ing. Michal Typová konverze, oblast platnosti, paměťové třídy 9 Verze
Advertisements

Programování v C jazyku - SEMINÁŘ
Počítače a programování 1 Přednáška 13 Jiří Šebesta.
Programovací jazyk C++
Třída SIMSET je druhou standardní systémovou třídou, která obsahuje prostředky pro práci se spojovými seznamy. KRUHOVÉ SPOJOVÉ SEZNAMY Spojový seznam –
Programování funkcí v Excelu
Vstupy a výstupy v JavaScriptu Vstup: použitím metody prompt objektu window čtením hodnot z položek formuláře Výstup : použitím metody alert objektu window.
Programování 2 Cvičení 5.
Aplikační a programové vybavení
25/08/20141 Typ struktura (1) Datový typ struktura ( struct ) je agrego- vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou.
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
Preprocess Úvod do tvorby funkcí Princip preprocesoringu Direktivy preprocesoru Podmíněný překlad Základy tvorby funkcí Zjednodušený popis principu předávaní.
Databázové systémy 1 Cvičení č. 3 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Cvičení 2 Proměnné(jednoduché a složené) a konstanty První program Zápis výrazů.
Programování v C++ Cvičení.
Algoritmizace a programování
Materiály k přednášce Úvod do programování Ondřej Čepek.
Generování mezikódu Jakub Yaghob
8. přednáška typedef - preprocesor Studijní materiály najdete na adrese:
Datové struktury. 2 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.
C# - struktury, výčtové typy, pole
Databáze Jiří Kalousek.
Datové typy 6 A1PRG - Programování – Seminář
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro práci se soubory 13 Verze
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze
Jemný úvod do MATLABu © Leonard Walletzký, ESF MU, 2000.
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
A1PRG - Programování – Seminář Ing. Michal Ukazatele a pole 10 Verze
Počítače a programování 1
Cvičení.
IB111 Programování a algoritmizace
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Gymnázium prof. Jana Patočky Jindřišská Praha 1 „Praha & EU: Investujeme do vaší.
13/04/20151 Datový typ třída – class (1) Datový typ definovaný uživatelem Poskytuje mechanismus pro modelování entit, s nimiž manipulují aplikace Charakterizuje.
Pole Arrays.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
6. Typ záznam Strukturovaný datový typ - znamená spojení několika elementů stejného nebo různých typů do jedné proměnné. Např. pole je strukturovaný datový.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
C – procedury Mgr. Lenka Švancarová.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Pokročilé datové typy (struktury, unie, dynamické proměnné)
Úvod do programování2 Vyučující: Mgr. Vítězslav Jersák Web: xjv.webnode.cz.
POSLOUPNOST test. ZKUSTE ODPOVĚDĚT Co je to komentář? Poznámky, které nám pomohou pochopit, když se k programu vrátíme po delší době, co jsme chtěli tou,
Funkce Přednáška č. 5. Funkce (functions)  posloupnost příkazů uvedená hlavičkou  využití – opakovaně volaná sekvence – strukturování programu – ošetření.
Programování v jazyce C++
Úvod do databází zkrácená verze.
Překladače 6. Sémantická analýza
Programování OPERÁTOR SIZEOF, FUNKCE, POLE JAKO PARAMETRY FUNKCÍ ERIK KRÁL.
Programování v jazyce C++ Speciality jazyka C++, úvod do OOP.
Alokace paměti v C++ Funkce v C++ a parametry typu reference, implicitní parametry funkcí.
Makra v Excelu syntaxe. Zápis nahraného makra SubEnd Sub O klíčová slova Sub a End Sub – začátek a konec makra O komentáře O text za znakem ', až do konce.
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Programovací jazyk C++
Vzorové řešení zápočtového testu
Struktury.
Programování v jazyce C++
Funkce výstupu (2) Funkce printf: deklarována v: stdio.h
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Dynamické proměnné (1) Proměnné, jejichž počet a (nebo) velikost pa-měti využívané těmito proměnnými se v prů-běhu programu mění Dynamické proměnné lze.
Oblast platnosti identifikátoru (1)
Typ pole (1) Proměnná typu pole představuje kolekci proměnných stejného datového typu, které mohou být označovány společným jménem (identifikátorem) Pole.
C# přehled vlastností.
Typ ukazatel (1) Proměnné typu ukazatel (pointer) uchovávají paměťovou adresu Hodnota ukazatele říká, kde (na jaké adrese) se v paměti nachází nějaký objekt.
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Proměnné (1) Proměnná: Definice proměnných:
Union neboli sjednocení Bitová pole
Union neboli sjednocení Bitová pole
Transkript prezentace:

Typ struktura (1) Datový typ struktura (struct) je agrego-vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou mít různé datové typy, spoje-ných pod jediné jméno Struktury pomáhají organizovat „kompliko-vaná“ data Umožňují pracovat se skupinou příbuzných proměnných jako s jedním objektem 19/10/2017

Typ struktura (2) Definice typu struktura: struct jmTypu { datový_typ1 id11, id12, …, id1n1; datový_typ2 id21, id22, …, id2n2; datový_typm idm1, idm2, …, idmnm; }; Identifikátor jmTypu se nazývá jmenovka struktury a lze jej následně využít pro defi-nici proměnných 19/10/2017

Typ struktura (3) Proměnné idij se nazývají složky (položky) struktury Příklad: struct osoba { char jmeno[15], prijmeni[20]; unsigned short vek; }; Na základě definovaného typu struktura je možné později definovat proměnné struct jmTypu p1, p2, …, pn; 19/10/2017

Typ struktura (4) Identifikátory p1, p2, …, pn označují pro-měnné typu jmTypu Příklad: struct osoba petr, pavel; definuje proměnné petr a pavel, které jsou typu osoba Poznámky: jmenovka struktury může být v době definice vynechána za definicí struktury mohou následovat identifi-kátory odpovídajících proměnných 19/10/2017

Typ struktura (5) Příklad: struct { char autor[30], nazev[50]; unsigned short rokVydani; } kniha1, kniha2; Složky struktury mohou být v době definice také nastaveny na své iniciální hodnoty Poznámka: iniciální hodnoty musí být konstantní výrazy 19/10/2017

Typ struktura (6) Příklad: struct osoba petr = {”Petr”,”Novak”,30}, pavel = {”Pavel”,”Novy”,40}; Jednotlivé složky struktury lze zpřístupnit pomocí tzv. tečkové notace: identifikátor proměnné typu struktura symbol tečka identifikátor složky struktury 19/10/2017

Typ struktura (7) Se složkami typu struktura je možné pracovat stejným způsobem jako s proměnnými odpo-vídajícího datového typu Příklad: strcpy(petr.jmeno,”Petr”); strcpy(petr.prijmeni,”Novak”); petr.vek = 30; Jazyk C umožňuje pracovat najednou s celou strukturou 19/10/2017

Typ struktura (8) Lze např. použít přiřazovací příkaz, který zko-píruje obsah jedné struktury do struktury dru-hé (obě proměnné musí být téhož typu): struct bod { int x, y; }; struct bod bod1 = {20, 50}; struct bod bod2; bod2 = bod1; 19/10/2017

Typ struktura (9) Struktura může být: Pozor: Poznámka: uvedena jako návratová hodnota funkce předána funkci jako skutečný parametr volaný hodnotou Pozor: jsou-li definovány dvě struktury se stejnými slož-kami stejných datových typů, pak se chovají jako dva různé nekompatibilní datové typy Poznámka: složka struktury, jmenovka struktury a proměnná mohou mít stejný identifikátor, aniž by docházelo ke konfliktům 19/10/2017

Typ struktura (10) Struktury je rovněž možné používat v kombi-naci s poli, tj. lze definovat: struktury, jejichž složky jsou typu pole pole, jehož prvky jsou typu struktura: příklad: struct bod body[20]; definuje pole body, jehož prvky jsou typu bod a pro jejichž zpřístupnění lze použít např.: body[0].x = 10; body[0].y = 20; Struktury mohou být do sebe vnořovány, tj. složky typu struktura mohou být opět typu struktura 19/10/2017

Typ struktura (11) Příklad: struct obdelnik { struct bod lhRoh, pdRoh; }; struct obdelnik obr; obr.lhRoh.x = 1; obr.lhRoh.y = 1; obr.pdRoh.x = 80; obr.pdRoh.y = 25; 19/10/2017

Pojmenovaný typ (1) Jazyk C poskytuje nástroj pro vytváření jmen datových typů Pojmenované typy lze vytvářet pomocí klí-čového slova typedef Obecný tvar: typedef datový_typ jmTypu; definuje jméno jmTypu jako synonymum pro datový_typ Typ jmTypu lze používat stejným způso-bem jako datový_typ 19/10/2017

Pojmenovaný typ (2) Příklad: typedef unsigned long delka; definuje typ delka, který odpovídá typu unsigned long Typ delka je možné dále využít např. pro definici proměnných Příklad: delka x, y, z; delka delky[10]; 19/10/2017

Pojmenovaný typ (3) Příklady: typedef int * pInt; pInt a, b; definuje proměnné a a b jako ukazatele na hod-noty datového typu int typedef int matice[2][3]; matice m; definuje proměnnou m jako dvourozměrné pole, které má dva řádky a tři sloupce typedef int radek[3]; typedef radek matice[2]; matice m; definuje proměnnou m jako dvourozměrné pole, které má dva řádky a tři sloupce 19/10/2017

Pojmenovaný typ (4) Definice pojmenovaných typů se často po-užívá také při definici typů struktura: typedef struct bod { int x, y; } typBod; typedef struct obdelnik { typBod lhRoh, pdRoh; } typObdelnik; typObdelnik obr; 19/10/2017

Typ union (1) Datový typ union umožňuje v různých chví-lích uchovávat hodnoty rozličných typů a velikostí Hodnoty (složky) unionu se vzájemně pře-krývají (sdílí stejné paměťové místo) Uniony umožňují manipulovat s různými typy dat v jedné oblasti paměti Jejich použití bývá méně obvyklé Syntaxe unionu je velmi podobná syntaxi struktury 19/10/2017

Typ union (2) Definice typu union: union jmTypu { datový_typ1 id11, id12, …, id1n; datový_typ2 id21, id22, …, id2n; datový_typ2 idm1, idm2, …, idmn; }; Ke složkám unionu se přistupuje rovněž (jako u struktury) pomocí tečkové notace 19/10/2017

Typ union (3) Příklad: union konstanta { char c; int i; double x; }; union konstanta k; Proměnná k obsahuje tři složky (c, i a x), které jsou různých typů a sdílejí společné paměťové místo 19/10/2017

Typ union (4) Kapacita paměti, na které jsou uloženy hod-noty typu union, je dána největší složkou, jež je v unionu definována Union neposkytuje informaci o typu prvku, který do něj byl naposledy uložen Zmíněný problém je možné vyřešit tak, že se union vloží do struktury, jejíž: první složka je výčtový typ druhá složka je union 19/10/2017

Typ union (5) Příklad: typedef enum {znak,cele,realne} typHodn; typedef struct { typHodn typ; union konstanta hodnota; } typKonstanta; typKonstanta konst; 19/10/2017