Ukazovatele v jazyku C ++ je premenná, ktorá obsahuje adresu inej premennej v c ++. Adresa je uložená v premennej ukazovateľ a pomáha pri implementácii call-by-reference.
V tomto článku sa budeme zaoberať nasledujúcimi ukazovateľmi,
- Ukazovatele
- Ukazovatele a polia
- Nulové ukazovatele
- Prázdne ukazovatele
- Aritmetická operácia ukazovateľa
- Ukazovateľ na ukazovateľ
- Ukazovateľ na funkcie
Začíname týmto článkom o ukazovateľoch v C ++
Syntax:
datový typ * pointername PRÍKLAD: int * ptr
- Premenná ukazovateľa má pred svojím menom znak *.
- Ukazovateľ sa tiež nazýva vyhľadávač alebo indikátor.
Použitie ukazovateľa:
- Dynamické prideľovanie pamäte
- V rôznych programoch polí, štruktúry a funkcií
Tu je prí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ýkon:
Vysvetlenie:
Vo vyššie uvedenom programe si ukážeme základné fungovanie ukazovateľa. Máme celočíselnú premennú num s hodnotou 17. Máme ukazovateľovú premennú ptr typu int. Adresu num priradíme ukazovateľu ptr.
Najprv vytlačíme hodnotu ptr, to je adresa. Ďalej vytlačíme číselnú hodnotu a na konci vytlačíme hodnotu na mieste, ktoré drží ukazovateľ ptr.
Pokračujeme týmto článkom o ukazovateľoch v C ++
klady a zápory hackingu
Ukazovatele a polia:
Prvý prvok poľa môžeme považovať za ukazovateľ, pretože názov poľa obsahuje adresu prvého prvku. Ukazovateľ môžeme použiť nasledujúcim spôsobom.
Tu je prí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ýkon:
ako používať softvér sas
Vysvetlenie:
Vo vyššie uvedenom programe si ukážeme základné fungovanie ukazovateľa s poľom. Máme pole arr s hodnotami 5,10,20. Máme ukazovateľovú premennú ptr typu int. Adresu arr priradíme ukazovateľu ptr.
Najprv vytlačíme hodnotu ptr [0], ktorá je prvým prvkom poľa. Ďalej vytlačíme druhý a tretí prvok. Pretože sa prvky poľa ukladajú postupne, môže mať ukazovateľ prístup na druhé miesto poľa pomocou prírastku.
Pokračujeme týmto článkom o ukazovateľoch v C ++
Nulové ukazovatele:
Existuje typ ukazovateľov, ktoré nemajú žiadnu hodnotu a majú nulovú hodnotu
Príklad :
int * ptr = NULL
Sú veľmi užitočné v dátových štruktúrach, ako je prepojený zoznam.
Pokračujeme týmto článkom o ukazovateľoch v C ++
Ukazovatele neplatnosti:
Jedná sa o typ ukazovateľov, ktoré nemajú návratový typ.
Pokračujeme týmto článkom o ukazovateľoch v C ++
Aritmetická operácia ukazovateľa:
Ukazovatele je možné vykonávať rôzne operácie. Tu je niekoľko dôležitých typov.
- zvýšený (++)
- znížené (-)
- rozdiel medzi dvoma ukazovateľmi (p1-p2)
- pridanie celého čísla do ukazovateľa (+ alebo + =)
- odčítanie celého čísla od ukazovateľa (- alebo - =)
Tu je kód na demonštráciu niektorých z týchto operácií:
#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ýkon:
Vysvetlenie:
čo je tostringová metóda v jave
Demonštrujeme jednoduchú aritmetickú operáciu prírastku ukazovateľa, ktorá je uvedená vo vyššie uvedenom programe.
Pokračujeme týmto článkom o ukazovateľoch v C ++
Ukazovateľ na ukazovateľ:
V tomto type systému existujú dva ukazovatele. Prvý ukazovateľ smeruje na druhý ukazovateľ a druhý ukazovateľ smeruje na premennú, ktorá drží hodnotu.
Tu je prí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ýkon:
Pokračujeme týmto článkom o ukazovateľoch v C ++
Ukazovateľ na funkcie:
Toto je spôsob odovzdávania ukazovateľov na funkcie. Funkčný parameter musí byť deklarovaný ako typ ukazovateľa. Je to zobrazené v kóde nižšie,
#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ýkon
Takto odovzdáme ukazovateľ na funkciu.
Dostali sme sa tak na koniec tohto článku týkajúceho sa „Ukazovateľov v C ++“. Ak sa chcete dozvedieť viac, pozrite si Edureka, dôveryhodná online vzdelávacia spoločnosť. je navrhnutý tak, aby vás vyškolil pre základné aj pokročilé koncepty Java spolu s rôznymi rámcami Java, ako je Hibernate & Spring.
Máte na nás otázku? Uveďte to prosím v sekcii komentárov tohto blogu a my sa vám ozveme čo najskôr.