Ukazatele jsou jedním z nejmocnějších konceptů v jazyce C, které umožňují pracovat s pamětí a dynamicky manipulovat s daty. V tomto výkladu se podrobně podíváme na deklaraci a inicializaci ukazatelů v jazyce C, jak je správně používat a poskytneme konkrétní příklady jejich použití.
Ukazatel je proměnná, která obsahuje adresu v paměti, kde je uložena hodnota. Deklarace ukazatele určuje datový typ proměnné, která bude uložena na dané adrese v paměti.
#include <stdio.h>
int main() {
int cislo = 10; // Deklarace a inicializace běžné proměnné
int *ukazatel; // Deklarace ukazatele
ukazatel = &cislo; // Přiřazení adresy proměnné ukazateli
printf("Hodnota promenne cislo: %d\n", *ukazatel); // Výstup: Hodnota promenne cislo: 10
return 0;
}
V tomto příkladu jsme vytvořili ukazatel na celočíselnou proměnnou cislo
. Symbol *
před názvem ukazatele značí, že se jedná o ukazatel. Pomocí operátoru ampersand &
získáme adresu proměnné, kterou přiřadíme ukazateli.
Ukazatele mohou být inicializovány při deklaraci, což znamená, že jim může být přiřazena adresa cílové proměnné již při vytvoření.
#include <stdio.h>
int main() {
int cislo = 10; // Deklarace a inicializace běžné proměnné
int *ukazatel = &cislo; // Inicializace ukazatele při deklaraci
printf("Hodnota promenne cislo: %d\n", *ukazatel); // Výstup: Hodnota promenne cislo: 10
return 0;
}
V tomto příkladu jsme inicializovali ukazatel ukazatel
při deklaraci a přiřadili mu adresu proměnné cislo
.
Ukazatele se používají pro různé účely, jako je dynamická alokace paměti, práce s funkcemi, manipulace s poli a strukturami a mnoho dalších.
#include <stdio.h>
void zmen_hodnotu(int *ptr) {
*ptr = 20; // Změna hodnoty proměnné, na kterou ukazuje ukazatel
}
int main() {
int cislo = 10;
int *ukazatel = &cislo;
printf("Puvodni hodnota promenne cislo: %d\n", cislo); // Výstup: Puvodni hodnota promenne cislo: 10
zmen_hodnotu(ukazatel);
printf("Nova hodnota promenne cislo: %d\n", cislo); // Výstup: Nova hodnota promenne cislo: 20
return 0;
}
V tomto příkladu jsme vytvořili funkci zmen_hodnotu()
, která přijímá ukazatel jako argument a mění hodnotu proměnné, na kterou ukazatel odkazuje. Poté jsme zavolali tuto funkci s ukazatelem na proměnnou cislo
, čímž jsme změnili její hodnotu.
Ukazatele jsou mocným nástrojem v jazyce C a správné pochopení jejich použití je klíčem k efektivnímu vytváření programů.