Hogyan lehet megvalósítani a mutatókat C ++ nyelven?



Ez a cikk bemutatja a mutatók fogalmát a C ++ nyelven, majd egy gyakorlati bemutatóval követi.

Mutatók C ++ - ban olyan változó, amely a c ++ egy másik változó címét tartja. A cím a mutató változóban van tárolva, és segít a hívás-referencia megvalósításában.

A következő hivatkozásokkal foglalkozunk ebben a cikkben,





Kezdve ezzel a cikkel a C ++ mutatóiról

Szintaxis:



adattípus * pointername PÉLDA: int * ptr
  • A mutatóváltozó neve előtt * jel van.
  • A mutatót lokátornak vagy indikátornak is nevezik.

A mutató használata:

  • Dinamikus memóriaallokáció
  • A tömbök, felépítésük és funkcióik különféle programjaiban

Itt van egy példa kód:

#include névtér használatával 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' } 

Kimenet:
Kimeneti mutatók C ++ nyelven - Edureka



Magyarázat:

A fenti programban megmutatjuk a mutató alapvető működését. Van egy egész szám változó, 17-es értékkel. Van int változó ptr mutatóváltozó. A ptr mutatóhoz hozzárendeljük a num címét.

Először kinyomtatjuk a ptr értékét, ez a cím. Ezután kinyomtatjuk a num értéket, és a végén kinyomtatjuk az értéket a ptr mutató által tartott helyen.

Továbblépve ezzel a cikkel a C ++ mutatóiról

Mutatók és tömbök:

A tömb első elemét mutatónak tekinthetjük, mivel a tömb neve tartalmazza az első elem címét. A mutatót a következő módon használhatjuk.

Itt van egy példa kód:

karakterlánc dátumra konvertálása java-ban
#include névtér használatával 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] } 
 Kimenet: 

Magyarázat:

A fenti programban egy mutató tömbjével való alapvető működését mutatjuk be. Van egy tömb tömbünk 5,10,20 értékekkel. Megvan az int típusú ptr mutatóváltozó. Az arr címet a ptr mutatóhoz rendeljük.

Először kinyomtatjuk a ptr [0] értékét, ez a tömb első eleme. Ezután kinyomtatjuk a második, illetve a harmadik elemet. Mivel a tömbelemeket egymás után tárolják, így a mutató növekményesen férhet hozzá a tömb másik helyéhez.

android stúdió oktatóanyagok kezdőknek

Továbblépve ezzel a cikkel a C ++ mutatóiról

Null mutatók:

Vannak olyan típusú mutatók, amelyeknek nincs értékük és null értékük van

Példa :

int * ptr = NULL

Nagyon hasznosak olyan adatstruktúrákban, mint a linkelt lista.

Továbblépve ezzel a cikkel a C ++ mutatóiról

Üres mutatók:

Ezek azok a mutatók, amelyeknek nincs visszatérési típusuk.

Továbblépve ezzel a cikkel a C ++ mutatóiról

Mutatószámtani művelet:

Különböző műveletek hajthatók végre a mutatókon. Íme néhány fontos típus.

  • növekményes (++)
  • csökkentett (-)
  • különbség két mutató között (p1-p2)
  • egész szám hozzáadása egy mutatóhoz (+ vagy + =)
  • egész szám kivonása egy mutatóból (- vagy - =)

Itt van egy kód, amely bemutatja ezeket a műveleteket:

#include névtér használatával 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++ } } 

Kimenet:

Magyarázat:

Bemutatjuk a mutatóváltozó inkrementálásának egyszerű aritmetikai műveletét, amelyet a fenti program mutat be.

Továbblépve ezzel a cikkel a C ++ mutatóiról

Mutató a mutatóhoz:

Ebben a típusú rendszerben két mutató van. Az első mutató a második, a második mutató az értéket tartó változóra mutat.

hogyan kell használni a tostringot a java-ban

Itt van egy példa kód:

#include névtér használatával 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 } 

Kimenet:

Továbblépve ezzel a cikkel a C ++ mutatóiról

A funkciók mutatója:

Ez a funkciókra mutató mutatók átadásának módja. A function paramétert mutató típusként kell deklarálni. Az alábbi kódban látható,

#include névtér használatával 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 } 


Kimenet

Így adunk át egy mutatót egy függvénynek.

Így a „C ++ mutatók” c. Cikkünk végéhez értünk. Ha többet szeretne megtudni, nézze meg a Edureka, egy megbízható online tanulási társaság. célja, hogy kiképezzen mind az alapvető, mind a fejlett Java koncepciókra, különféle Java keretrendszerekkel, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg a blog megjegyzés rovatában, és a lehető leghamarabb kapcsolatba lépünk Önnel.