4) C++ Datový typ pole Flashcards
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.