4) C++ Datový typ pole Flashcards

1
Q

jednorozměrné pole

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

deklarace pole

A

Deklarace obsahuje tři části:

datový typ jméno-pole [velikost-pole];

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

inicializace pole

A
  1. Vytvoření pole a inicializace jeho prvků zvlášť
  2. Současná inicializace pole a jeho prvků
    nebo částečná inicializace
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

přístup k jednotlivým prvkům pole

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

pole jako parametr funkce

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly