Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
ccpp:array [2020/05/18 10:46] – bures | ccpp:array [2023/02/27 08:54] (aktuální) – bures | ||
---|---|---|---|
Řádek 3: | Řádek 3: | ||
===== Jednorozměrné pole ===== | ===== Jednorozměrné pole ===== | ||
- | Nejzákladnější verze pole je jednorozměré, | + | Nejzákladnější verze pole je tzv. jednorozměré |
<code c> | <code c> | ||
Řádek 13: | Řádek 13: | ||
==== Deklarace ==== | ==== Deklarace ==== | ||
- | Syntaxe deklarace pole vypadá následovně: | + | Syntaxe deklarace pole vypadá následovně: |
=== Příklad === | === Příklad === | ||
Řádek 29: | Řádek 29: | ||
int pole[4] = {1, 2, 3, 4}; // inicializace pole hodnotami 1, 2, 3, 4. | int pole[4] = {1, 2, 3, 4}; // inicializace pole hodnotami 1, 2, 3, 4. | ||
char pole2[] = {' | char pole2[] = {' | ||
+ | short pole3[100] = {10, 20, 30}; // Prvni 3 položky maji dané hodnoty, zbytek je doplněn hodnotou 0 | ||
</ | </ | ||
Řádek 64: | Řádek 65: | ||
</ | </ | ||
Zkuste spočítat jak by bylo veliké pole '' | Zkuste spočítat jak by bylo veliké pole '' | ||
- | more TBA! | + | |
+ | ==== Incializace ==== | ||
+ | Prvky pole můžeme opět v rámci deklarace rovnou inicializovat. Opět pomocí složených závorek, které se ale tentokrát do sebe zanořují podle rozměrů. Je třeba uvažovat nad celou věcí jako nad "polem polí" | ||
+ | |||
+ | === Příklad dvourozměrného pole === | ||
+ | Matice identity ([[https:// | ||
+ | <code c> | ||
+ | float identity[3][3] = { {1.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f, 1.0f} }; | ||
+ | | ||
+ | | ||
+ | První rozměr (řádky) - obsahuje 3 další pole | | ||
+ | | ||
+ | </ | ||
+ | ==== Přístup k položkám vícerozměrného pole ==== | ||
+ | Pro přístup ke konkrétním položkám opět využíváme indexů zapsaných v hranatých závorkách. Avšak musíme uvést index pro každý rozměr. | ||
+ | |||
+ | === Příklad přístupu k položkám v rámci výpisu matice === | ||
+ | <code c> | ||
+ | const int ROWS = 3; | ||
+ | const int COLS = 3; | ||
+ | float identity[ROWS][COLS] = { {1.0f, 0.0f, 0.0f}, {0.0f, 1.0f, 0.0f}, {0.0f, 0.0f, 1.0f} }; | ||
+ | |||
+ | for (int row = 0; row < ROWS; ++row) | ||
+ | { | ||
+ | putchar(' | ||
+ | for (int col = 0; col < COLS; ++col) | ||
+ | { | ||
+ | printf(" | ||
+ | } | ||
+ | putchar(' | ||
+ | putchar(' | ||
+ | } | ||
+ | </ |