Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

12. diel - Implementácia vektora v jazyku C

V minulej lekcii, Použitie kolekcií z knižnice Glib v C , sme si ukázali použitie voľne dostupné knižnice Glib a univerzálnych kolekcií, ktoré poskytuje.

Dnes si predstavíme kolekciu vektor, ktorá funguje ako pole, ale nie je veľkostne obmedzená.

Dnešné lekcie o kolekciu vektor pochádza z kurzu Dynamická práca s pamäťou v jazyku C. Ak ste ju už absolvovali, môžete ju preskočiť. Pretože si zakladáme na poskytovanie kvalitných a kompletných kurzov, vnímame ako dôležité, aby bola táto problematika súčasťou i kurzu kolekcií.

Motivácia

Oproti spojovému zoznamu má polia výhodu v rýchlosti náhodného prístupu. Vieme, že prvky poľa sa v pamäti nachádzajú bezprostredne za sebou. Nie je teda problém okamžite preskočiť napr. Na piaty prvok. Pole funguje ako ukazovateľ na pozíciu 0, v tomto prípade teda stačí vziať veľkosť jedného prvku a skočiť v pamäti o štvornásobok tejto veľkosti doprava.

Hlavnou nevýhodou poľa však je, že jeho veľkosť je obmedzená. Akonáhle pole vytvárame, musíme uviesť, aký veľký priestor (ako veľkú riadku jedničiek a núl) pre neho má operačný systém v pamäti vyhradiť. Ak budeme programovať napr. Telefónny zoznam, dá sa veľmi zle odhadnúť, koľko čísel v ňom bude náš užívateľ mať. Bude to 10 alebo 1000 ? Mohli by sme vytvoriť polia telefónnych čísel o veľkosti 1000. Užívateľ by potom využíval len jeho časť a bolo by to lepšie riešenie, než keď veľkosť poľa podceníme a používateľmi aplikácie oznámi, že nemá kam ukladať (v tom lepšom prípade) alebo pamäť rovno pretečie. Ako to ale urobiť správne?


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.

Obmedzená ponuka: Nauč sa všetko a ušetri

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh za exkluzívnu cenu 300 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto výhodného balíčku získaš prístup ku všetkým 17 článkom (17 lekcií) s kontrolou a certifikáciou a ešte naviac ušetríš 76 Kč. Ponuka je časovo obmedzená a platí pro všetky lekcie v kurze. Nakúp teraz a získaj limitovanou 20% zľavu.

Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.

Čo od nás v ďalších lekciách dostaneš?
  • Neobmedzený a trvalý prístup k jednotlivým lekciím.
  • Kvalitné znalosti v oblasti IT.
  • Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.

Popis článku

Požadovaný článok má nasledujúci obsah:

V C tutoriálu implementujeme dynamickú kolekciu vektor, ktorá funguje ako pole, ale nie je veľkostne obmedzená.

Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.

Článok pre vás napísal David Hartinger
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity