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.