# Pole Tato kapitola se bude zabývat indexovanými kolekcemi objektů – koncept, který je pro výpočetní systémy (a tedy i jejich programování) zcela centrální. Indexace nám zejména umožňuje vybrat konkrétní objekt «výpočtem». ## XXX ### Složené objekty │ • umožňují uložit více hodnot │ • složené z «podobjektů» │ • není totéž jako složená hodnota! ### Pole │ • typ složeného objektu │ • pevný počet podobjektů │ ◦ podobjekt ~ prvek │ • podobjekty jsou «očíslovné» │ • index = celé číslo jako paměť (po sobě jdoucí adresy slabik vs po sobě jdoucí ukazatele na podobjekty) ### Syntaxe │ • deklarace ‹typ jméno[počet]› │ ◦ lokální proměnná │ • počet musí být konstanta │ • použití = ukazatel (decay) │ ◦ ‹jméno› ~ ‹&jméno› ### Inicializace xxx ### Operátor indexace │ • nový tvar výrazu │ • zjednodušeně ‹var[e₁]› │ • obecně ‹e₁[e₂]› │ ◦ ‹e₁› musí být ukazatel │ • výsledek → ⟦i⟧-tý podobjekt ### Ukazatelová aritmetika │ • analogie aritmetiky adres │ ◦ ukazatel ⟦+⟧ číslo → ukazatel │ ◦ ukazatel ⟦-⟧ ukazatel → číslo │ • odpovídá indexaci │ • ‹a[i] ~ *(a + i)› ### Pasti │ • pole není hodnota │ ◦ nelze kopírovat jako celek │ ◦ předáváme jako ukazatel │ • nemá informaci o velikosti │ • ani o (ne)využitých položkách