5. díl - Dynamická pole (vektory) v jazyce C

C++ Dynamická práce s pamětí Dynamická pole (vektory) v jazyce C

Až doposud jsme byli za běhu aplikace omezeni pamětí, která nám byla přidělena. 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 dí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? Můžeme vytvořit pole čí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

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é.
Pro přístup k článku potřebuješ 10 bodů
Na svém účtu máš aktuálně 0 bodů
10 bodů získáš za přidání svého článku na síť nebo za 25 Kč

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
Kartou SMS Převodem

  Aktivity (1)

Článek pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.