Lekce 5 - Dynamická pole (vektory) v jazyce C
V minulé lekci, Dynamické textové řetězce a struktury v jazyce C, jsme se věnovali dynamickým řetězcům a strukturám.
Až doposud byla paměť, která nám byla přidělena, nějak omezená. Ať jsme si paměť alokovali dynamicky za běhu aplikace nebo ji za nás jazyk C alokoval staticky, vždy jsme narazili na její limit. Museli jsme si tedy např. hlídat, aby počet uložených čísel nepřesáhl velikost pole. V následujících 2 tutoriálech se konečně dozvíme jak ukládat neomezené množství prvků do paměti, čímž dovršíme své znalosti potřebné k tomu, abychom v Céčku vytvořili opravdu reálně použitelnou aplikaci.
Dynamické pole (Vektor)
Již víme, že prvky pole se v paměti nacházejí bezprostředně za sebou. Také víme, že velikost pole je omezena. Jakmile pole vytvoříme, musíme uvést jak velký prostor (jak velkou řádku jedniček a nul) pro něj má operační systém v paměti vyhradit. Budeme-li programovat např. telefonní seznam, dá se velmi špatně odhadnout kolik čísel v něm bude náš uživatel mít. Bude to 10 nebo 1000? Mohli bychom vytvořit pole telefonních čísel o velikosti 1000. Uživatel poté bude využívat jen jeho část a je to lepší řešení, než když velikost pole podceníme a uživateli aplikace sdělí, že nemá kam ukládat (v tom lepším případě) nebo paměť rovnou přeteče. Jak to ale udělat správně?
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu naprogramujeme datovou strukturu vektor, dynamické pole, jehož kapacita se při zaplnění zdvojnásobí. Zabírá rozumně místa a není nijak omezené.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.