Polí v jazyce C jsou datové struktury, které umožňují ukládat více hodnot stejného datového typu pod jedním názvem. V tomto výkladu se zaměříme na způsoby, jak deklarovat a inicializovat pole v jazyce C a poskytneme konkrétní příklady jejich použití.
Deklarace pole určuje jeho datový typ a velikost. Deklarace pole se obvykle provádí na začátku funkce nebo bloku kódu. Syntaxe deklarace vypadá následovně:
typ název_pole[velikost];
Kde typ
je datový typ prvků pole, název_pole
je identifikátor pole a velikost
je počet prvků v poli. Například:
int cisla[5];
Tímto kódem jsme deklarovali pole cisla
s kapacitou 5 celých čísel.
Inicializace pole umožňuje nastavit počáteční hodnoty prvkům pole. Existují různé způsoby, jak inicializovat pole v jazyce C.
Statické pole je inicializováno v době kompilace a jeho velikost je pevně daná. Při inicializaci statického pole jsou všechny prvky pole určeny explicitně.
int cisla[5] = {1, 2, 3, 4, 5};
Tímto kódem jsme inicializovali pole cisla
s pěti prvky s hodnotami 1, 2, 3, 4, 5.
Dynamické pole je inicializováno za běhu programu pomocí funkce malloc()
nebo calloc()
. Při inicializaci dynamického pole je možné nastavit jeho velikost za běhu programu.
int *cisla = (int*)malloc(5 * sizeof(int));
if (cisla != NULL) {
cisla[0] = 1;
cisla[1] = 2;
cisla[2] = 3;
cisla[3] = 4;
cisla[4] = 5;
}
Tímto kódem jsme inicializovali dynamické pole cisla
s pěti prvky a přiřadili jim hodnoty 1, 2, 3, 4, 5.
Pole může být inicializováno částečně, kde jsou některé prvky specifikovány a zbytek je inicializován implicitně na hodnotu 0 nebo NULL.
int cisla[5] = {1, 2};
V tomto příkladu jsou první dva prvky pole cisla
inicializovány na hodnoty 1 a 2, zatímco zbývající tři prvky jsou inicializovány na hodnotu 0.
Nyní si ukážeme příklad, jak použít deklaraci a inicializaci pole v jazyce C.
#include <stdio.h>
int main() {
// Deklarace pole
int cisla[5];
// Inicializace pole
cisla[0] = 1;
cisla[1] = 2;
cisla[2] = 3;
cisla[3] = 4;
cisla[4] = 5;
// Výpis prvků pole
printf("Prvky pole cisla: ");
for (int i = 0; i < 5; i++) {
printf("%d ", cisla[i]);
}
printf("\n");
return 0;
}
V tomto příkladu jsme deklarovali pole cisla
s kapacitou 5 a inicializovali jsme jeho prvky pomocí cyklu for
. Poté jsme vypsali hodnoty prvků pole na standardní výstup.
Deklarace a inicializace polí jsou základními koncepty v jazyce C a umožňují ukládat a manipulovat s kolekcemi hodnot pod jedním názvem. Je důležité porozumět různým způsobům deklarace a inicializace polí a vybrat ten správný způsob podle konkrétní situace a požadavků vašeho programu.