Elementární a strukturované typy, hodnotové vs referenční, enum, struct, class, 1D/2D/jagged pole

Formát: 30 min praktická úloha, 15 min obhajoba + teorie. Praktika je v C# (.NET) a podle zadání obsahuje demonstraci enum, struct vs class, 2D pole a jagged pole (typicky na příkladu rozvrhu hodin).


Část 1: Teorie

Co je datový typ

Datový typ určuje:

int vek = 18;              // 4 bajty, číselné operace, na stacku
string jmeno = "axo";      // referenční typ, na heapu
bool aktivni = true;       // 1 bit (technicky 1 bajt), logické operace

Klasifikace datových typů

                    ┌─ Datové typy ─┐
                    │                │
        ┌───────────┴────┐    ┌──────┴──────────┐
        ▼                ▼    ▼                  ▼
  Elementární              Strukturované
  (jednoduché)             (složené)
  ─────────────            ──────────────
  int, double,             ┌─ Homogenní ─┐    ┌─ Heterogenní ─┐
  bool, char               │ stejný typ  │    │ různé typy    │
                           │             │    │               │
                           pole, string,    struct, class
                           enum            (záznamy)

Elementární vs strukturované

Elementární typy nesou jednu nedělitelnou hodnotu: