Úvod do ukazatelů v C

V C nebo jiných programovacích jazycích máme koncept proměnné. Tyto proměnné se používají k uchovávání hodnot v nich. Tyto proměnné lze použít při programování. Existuje však jen málo úkolů, které nevyžadují proměnné, ale vyžadují adresu těchto proměnných. Adresa proměnných znamená skutečné umístění paměti, kde tyto proměnné existují. V tomto tématu se budeme učit o ukazatelích v C. Můžeme definovat ukazatel jako typ proměnné, která drží adresu jakékoli jiné proměnné, která by mohla mít nějakou hodnotu

Použití ukazatelů v programovacích jazycích a C

Nyní pojďme diskutovat o tom, ve kterém C skutečně požadujeme ukazatel. Existuje mnoho úkolů, jako je dynamické přidělování paměti, které vyžaduje programování během programování v C. Pomocí těchto ukazatelů lze takový úkol provést snadno

Různé způsoby přístupu k proměnné adrese v C

Zkusme vědět, jaké jsou různé způsoby, jak můžeme vytisknout adresu proměnné v C.

Existují dva způsoby, jak můžeme skutečně vytisknout adresu proměnné. Jedná se o tyto dvě metody:

  1. Použitím metody ampersand (&)
  2. Pomocí ukazatele

Podívejme se na každou metodu s příkladem

1. Použitím metody ampersand (&)

V této metodě použijeme koncept ampersandu k vytištění adresy proměnné

Podívejme se na tento příklad

#include
int main () (
double varNumValue= 10.2;
char varTextValue(10) = “abc”;
printf("The address of variable varNumValue: %x\n", &varNumValue );
printf("varTextValue variable address is : %x\n", &varTextValue );
return 0;
)

Nyní zkopírujte výše uvedený fragment kódu a spusťte jej

Zobrazí se následující výstup:

The address of variable varNumValue: a0665a48
The address of variable varTextValue is : a0665a3e

I když je možné vidět jinou hodnotu, která je při spuštění příkladu náhodně přiřazena

Výše uvedený příklad se příliš nepoužívá, ale stojí za to ho znát. Nyní se podívejme na další koncept, o kterém v tomto tématu diskutujeme.

2. Pomocí ukazatele

Jedná se o moderní přístup k přístupu k adrese proměnné. Před použitím ukazatele nám dejte vědět obecnou syntaxi deklarace ukazatele

  • Obecná syntaxe deklarování ukazatele - Běžná syntaxe, kterou používáme pro deklarování proměnné, je:

data_type *variable

Toto je běžný způsob deklarace libovolného ukazatele v C, zde data_type představuje typ proměnné, jejíž adresu je třeba uložit. * označuje, že deklarovaná proměnná je ukazatel. proměnná se jednoduše používá pro přístup k hodnotě

Jednoduchým příkladem je:

double *var_text

Po projednání konceptu obecné syntaxe deklarace ukazatele nám dejte vědět, jak můžeme použít ukazatel v programování

Chcete-li použít ukazatel v C, musíte v zásadě postupovat podle následujících tří kroků:

  • Definování proměnné ukazatele
  • Přiřazení adresy proměnné, jejíž adresu chceme držet v proměnné ukazatele
  • Jakmile máme proměnnou ukazatele s adresou, můžeme znovu načíst hodnotu proměnné z adresy uložené v ukazateli. To lze provést pomocí * v C. * je prostě jeden z unárních operátorů

Použijme výše uvedené kroky s příkladem a pak tento příklad vysvětlíme krok za krokem

Příklad

#include
int main () (
int varNumValue = 10;
int *ipointervarNumValue;
ipointervarNumValue = &varNumValue;
printf("Address of the variable varNumValue is: %x\n", &varNumValue );
printf("Address stored in the variable ipointervarNumValue is: %x\n", ipointervarNumValue);
printf("Value of the variable *ipointervarNumValue is: %d\n", *ipointervarNumValue );
return 0;
)

Nyní zkopírujte výše uvedený fragment kódu a spusťte jej

Zobrazí se následující výstup:

Address of the variable varNumValue is: bf7b7f94
Address stored in the variable ipointervarNumValue is: bf7b7f94
Value of the variable *ipointervarNumValue is: 10

Nyní se pokusme porozumět výše uvedenému příkladu

Řádek int varNumValue = 10; jednoduše deklaruje proměnnou s hodnotou 10

Druhý řádek, který je vedle něj: int * ipointervarNumValue; je jednoduše deklarováno pro uložení adresy proměnné

Další fragment kódu, který je: ipointervarNumValue = & varNumValue; se používá k držení adresy proměnné. Zde používáme pojem ampersand, který jsme diskutovali dříve v tomto článku

Nyní můžeme jednoduše získat hodnotu a použít ukazatel v našem fragmentu kódu

Nyní se podívejme na různé typy ukazatelů v C

Typy ukazatelů v C

Existují různé typy ukazatelů v C. Základní typy ukazatelů, které se obvykle používají, jsou:

  • NULL Ukazatel
  • Houpající se ukazatel
  • Obecné ukazatele
  • Divoký ukazatel

Vysvětlíme každému

1. Nulový ukazatel: Nulový ukazatel je typ ukazatele, který neukazuje na nic. Obecně ukazuje na základní adresu segmentu. Pokud k ukazateli není nic přiřazeno, má nulovou hodnotu

Obvykle se používá v souborech záhlaví, jako je stdio.h, alloc.h

2. Dangler Ukazatel: Tento typ ukazatele lze vytvořit odstraněním objektu bez změny hodnoty ukazatele

3. Obecný ukazatel: Tento typ ukazatele je deklarován pomocí proměnné typu void. Protože se jedná o neplatný datový typ, je označován jako obecný ukazatel. Tento typ ukazatele neukazuje na žádná data

4. Divoký ukazatel: Ukazatel, který nebyl inicializován, se označuje jako divoký ukazatel. Tento typ ukazatele je inicializován během běhu, kdy je potřeba jej použít. Tento typ ukazatele se nazývá divoký ukazatel

Závěr

Ukazatele v C se používají k označení adresy proměnné. Tyto proměnné se používají pro dynamické přidělování paměti v C. Tyto proměnné jsou deklarovány hvězdičkou tak, aby ukazovaly, že proměnná je ukazatel. Používají se v hlavičkovém souboru při programování.

Doporučené články

Toto je průvodce ukazateli v C. Zde diskutujeme různé typy a použití ukazatelů v C s metodami a příklady. Další informace naleznete také v následujících článcích -

  1. Co je programovací jazyk?
  2. C vs C ++
  3. Vzory v programování C
  4. Nejlepší kompilátory C
  5. Průvodce ukazateli v C ++
  6. Ukazatele v C # s příklady

Kategorie: