Jazyk C - polia

Z Kiwiki
Verzia z 19:45, 28. február 2020, ktorú vytvoril PatrikC (diskusia | príspevky) (Vytvorená stránka „Kategória:Študijné materiály Kategória:Informatika {{Skripta_ZI}} ==Deklarácia== Na deklarovanie poľa v C programátor špecifikuje typ prvkov a počet…“)
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)
Skočit na navigaci Skočit na vyhledávání


Deklarácia

Na deklarovanie poľa v C programátor špecifikuje typ prvkov a počet prvkov požadovaných poľom takto -

typ menoPola[veľkosť];

Toto sa nazýva jednorozmerné pole. Veľkosť musí byť celočíselná konštanta väčšia ako nula a typ môže byť akýkoľvek platný typ v jazyku C. Napríklad deklarácia pola o veľkosti 10:

int pole[10];

Iniciálizácia

Prvky pola môžeme inicializovať po jednom alebo pomocou jedného príkazu nasledovne.

int pole[5] = {1000,5,70,64,1};

Počet hodnôt medzi zátvorkami {} nemôže byť väčší ako počet prvkov(veľkosť pola), ktoré uvádzame pre pole medzi hranatými zátvorkami []. Ak vynecháte veľkosť poľa, vytvorí sa pole ktoré je dostatočne veľké na to aby mohlo udržať inicializáciu.

Preto, ak napíšeme-

int pole[] = {1000,5,70,64,1};

Vytvorí sa rovnaké pole ako v predchádzajúcom príkladne.

Prístup k prvkom poľa

K prvku sa pristupuje indexovaním názvu poľa. To sa dosiahne umiestnením indexu prvku do hranatých zátvoriek za názvom poľa.

Napríklad -

int cislo = n[8] ;

Do premennej cislo sa priradí hodnota(číslo) z pola n ktoré sa nachádza na indexe 8.

Nasledujúci príklad ukazuje, ako používať všetky tri vyššie uvedené koncepty, viď. deklaráciu, priradenie a prístup k poliam -

 1 #include <stdio.h>
 2  
 3 int main () {
 4 
 5    int n[ 10 ]; /* n je pole o veľkosti 10 prvkov  */
 6    int i,j;
 7  
 8    /* inicializácia pola n od 0 po 10 */         
 9    for ( i = 0; i < 10; i++ ) {
10       n[ i ] = i + 100; /* zapíše prvok na mieste i hodnotou i + 100 */
11    }
12    
13    /* výstup hodnoty každého prvku z pola  */
14    for (j = 0; j < 10; j++ ) {
15       printf("Prvok[%d] = %d\n", j, n[j] );
16    }
17  
18    return 0;
19 }

Výstup

Prvok[0] = 100
Prvok[1] = 101
Prvok[2] = 102
Prvok[3] = 103
Prvok[4] = 104
Prvok[5] = 105
Prvok[6] = 106
Prvok[7] = 107
Prvok[8] = 108
Prvok[9] = 109