4) C++ Datový typ pole Flashcards
(5 cards)
jednorozměrné pole
Pole je strukturovaný datový typ.
Proměnná typu pole slouží kuchování více hodnot stejného typu. Každá ztěchto hodnot se ukládá do samostatného prvku pole a vpaměti jsou uloženy za sebou.
Například chceme uchovat 100 hodnot typu int, nemusíme deklarovat 100 různých proměnných, ale vytvoříme jednu proměnnou typu pole s rozměrem 100. Vpaměti se tak alokuje oblast, která je pomyslně rozdělena na 100 částí - prvků. Každý prvek má svůj index, což jsou vtomto konkrétním případě celá čísla od 0 po 99. První prvek má index 0, druhý index 1, třetí 2, …, poslední prvek má index 99.
Kprvkům pole můžeme přistupovat jednotlivě pomocí indexu.
deklarace pole
Deklarace obsahuje tři části:
datový typ jméno-pole [velikost-pole];
inicializace pole
- Vytvoření pole a inicializace jeho prvků zvlášť
- Současná inicializace pole a jeho prvků
nebo částečná inicializace
přístup k jednotlivým prvkům pole
Kjednotlivým prvkům pole velikosti n přistupujeme pomocí indexu, jehož rozsah je 0…(n-1).
Kompilátor nekontroluje rozsah indexu! Použijeme-li index mimo tento rozsah, přistupujeme kpaměti mimo alokovanou oblast pole na vypočítané adrese. Tak např. pro výše vytvořené pole hromada můžeme příkazem hromada[5] = 1; poškodit nějakou lokální proměnnou, případně přepsat jiná důležitá data.
pole jako parametr funkce
V příkladě jsme si vytvořili funkcivypis_pole, která vypíše hodnoty pole. Co nás však hlavně bude zajímat, jsouparametrytéto funkce. Prvním parametrem jeint pole[]. Tento parametr bude akceptovat všechny pole typu int, bez ohledu na jejich rozměr. Ktomu abychom, však mohli použít v těle funkce cyklus, potřebujeme konečnou hodnotu, proto má funkce ještě jeden parametrrozmer, který nám tuto hodnotu poskytne.