Jak implementovat ukazatele v C ++?



Tento článek vás seznámí s konceptem ukazatelů v C ++ a poté na něj naváže podpůrná praktická ukázka.

Ukazatele v C ++ je proměnná, která obsahuje adresu jiné proměnné v jazyce C ++. Adresa je uložena v proměnné ukazatele a pomáhá při implementaci call-by-reference.

V tomto článku se budeme zabývat následujícími ukazateli,





Začínáme s tímto článkem o ukazatelích v C ++

Syntax:



datový typ * pointername PŘÍKLAD: int * ptr
  • Proměnná ukazatele má před svým jménem znak *.
  • Ukazatel se také nazývá lokátor nebo indikátor.

Použití ukazatele:

  • Dynamické přidělování paměti
  • V různých programech polí, struktury a funkcí

Zde je příklad kódu:

#include using namespace std int main () {int num = 17 int * ptr ptr = & num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

Výstup:
Výstup - Ukazatele v C ++ - Edureka



Vysvětlení:

Ve výše uvedeném programu ukážeme základní práci ukazatele. Máme celočíselnou proměnnou num s hodnotou 17. Máme proměnnou ukazatele ptr typu int. Adresu num přiřadíme ukazateli ptr.

Nejprve vytiskneme hodnotu ptr, tedy adresu. Dále vytiskneme číselnou hodnotu a na konci ji vytiskneme na místě drženém ukazatelem ptr.

Pokračujeme tímto článkem o ukazatelích v C ++

rozdíl mezi c c # a c ++

Ukazatele a pole:

První prvek pole můžeme považovat za ukazatel, protože název pole obsahuje adresu prvního prvku. Můžeme použít ukazatel následujícím způsobem.

Zde je příklad kódu:

#include using namespace std int main () {int arr [3] = {5, 10, 20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 Výstup: 

jak používat software sas

Vysvětlení:

Ve výše uvedeném programu ukážeme základní práci ukazatele s polem. Máme pole arr s hodnotami 5,10,20. Máme proměnnou ukazatele ptr typu int. Adresu arr přiřadíme ukazateli ptr.

Nejprve vytiskneme hodnotu ptr [0], která je prvním prvkem pole. Dále vytiskneme druhý a třetí prvek. Protože prvky pole se ukládají postupně, takže ukazatel může přistupovat k dalšímu umístění pole pomocí přírůstku.

Pokračujeme tímto článkem o ukazatelích v C ++

Nulové ukazatele:

Existuje typ ukazatelů, které nemají žádnou hodnotu a mají hodnotu null

Příklad :

int * ptr = NULL

Jsou velmi užitečné v datových strukturách, jako je propojený seznam.

Pokračujeme tímto článkem o ukazatelích v C ++

Prázdné ukazatele:

Jedná se o typ ukazatelů, které nemají návratový typ.

Pokračujeme tímto článkem o ukazatelích v C ++

Aritmetická operace ukazatele:

U ukazatelů lze provádět různé operace. Zde jsou některé důležité typy.

  • zvýšeno (++)
  • sníženo (-)
  • rozdíl mezi dvěma ukazateli (p1-p2)
  • přidání celého čísla na ukazatel (+ nebo + =)
  • odčítání celého čísla od ukazatele (- nebo - =)

Zde je kód k ukázce některých z těchto operací:

#include using namespace std int main () {int arr [3] = {10, 100, 200} int * ptr ptr = arr for (int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

Výstup:

Vysvětlení:

co je tostring metoda v Javě

Demonstrujeme jednoduchou aritmetickou operaci přírůstku ukazatele proměnné, která je uvedena ve výše uvedeném programu.

Pokračujeme tímto článkem o ukazatelích v C ++

Ukazatel na ukazatel:

V tomto typu systému existují dva ukazatele. První ukazatel ukazuje na druhý ukazatel a druhý ukazatel na proměnnou, která drží hodnotu.

Zde je příklad kódu:

#include using namespace std int main () {int num int * ptr int ** pptr num = 3000 ptr = & num pptr = & ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

Výstup:

Pokračujeme tímto článkem o ukazatelích v C ++

Ukazatel na funkce:

Toto je způsob předávání ukazatelů na funkce. Parametr funkce musí být deklarován jako typ ukazatele. Zobrazuje se to v níže uvedeném kódu,

#include using namespace std float getAverage (int * arr, int size) int main () {int balance [5] = {1432, 232, 3232, 17, 502} float avg avg = getAverage (balance, 5) cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


Výstup

Takto předáme ukazatel na funkci.

Tak jsme dospěli ke konci tohoto článku o „Ukazatelích v C ++“. Pokud se chcete dozvědět více, podívejte se na Edureka, důvěryhodná online vzdělávací společnost. je navržen tak, aby vás naučil jak základní, tak pokročilé koncepty Java spolu s různými rámci Java, jako je Hibernate & Spring.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto blogu a my se vám ozveme co nejdříve.