Lekce 5 - Dynamická pole (vektory) v jazyce C

Vydávání, hosting a aktualizace umožňují jeho sponzoři.
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...

Prémiový článek
Na itnetwork.cz se nachází největší a nejucelenější česká databáze s výukovými články, jejímž cílem je umožnit kvalitní vzdělání v oblasti IT úplně každému. Měsíčně zobrazíme k milionu článků a sklidíme desítky děkovných emailů, kde nám sdělujete, že jsme vám pomohli k lepšímu zaměstnání nebo vzdělání.
Ačkoli se snažíme držet většinu obsahu úplně zadarmo, udržovat síť v provozu a aktuální stojí obrovské úsilí. Proto je nějaký obsah, jako cvičení nebo odbornějšíčlánky, přístupný pouze za body. Nebojte, nestojí to skoro nic :)
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é.
Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
Body 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íť.
Dobít body můžeš okamžitě např.:
![]() |
![]() |
![]() |
Kartou | SMS | Převodem |