background image

//==============================================================
// Zmienna i wskaznik wskazujacy na zmienna;
//          (wskaznik - okreslenie zmiennej typu wskaznikowego)
// adres i zawartosc pod wskazanym adresem;
// "podwojny" wskaznik - adres do zmiennej typu wskaznikowego.
// Referencja.
//
// ver data       temat                                    autor
// 100 2001/10/11 Pierwszy projekt                  J.Malinowski
// 101 2005/11/08 Cleanup                                    JM
// 102 2015/10/03 Cleanup                                    JM
// 103 2015/11/06 Dodano przyklad referencji                 JM
// 104 2019/11/15 Wydzielono przyklad referencji             JM
//==============================================================

#include <iostream>

using namespace std;

//==============================================================

int main()
{

// wskaznik, adres i wyluskanie; typ prosty:

   int  x = 

5

;

   cout << 

"\nx= "

 << x

        << 

",  adres &x= "

      << &x

        << 

",  wyluskanie *&x= "

<< *&x << endl;

// typ wskaznikowy (typ pochodny):

   int *px = &x;
   cout<<

"       adres px= "

    << px

       <<

",  wyluskanie *px= "

  << *px << endl;

      int *py, *pz;
      py = &x;
      pz = py;

//--------------------------------------------------------------
// podwojny wskaznik, adres i wyluskanie:

   x = 

5

;

   px = &x;
   int **ppx = &px;

   cout<<

"\n\n     adres w px= "

<< px

       <<

",  wyluskanie *px= "

  << *px

       << 

"   adres px-a= "

     << &px << endl;

       
   cout<<

"\n      adres ppx= "

  << ppx

       <<

",  wyluskanie *ppx= "

 << *ppx

       << 

",  wyluskanie **ppx= "

<< **ppx

       << 

"\n    adres ppx-a= "

 << &ppx << endl;

background image

       
   cout<<

"\n rozmiar  px-a= "

   << sizeof(px)

       <<

"\n rozmiar ppx-a= "

   << sizeof(ppx) << endl << endl;

       

//    system("PAUSE");

    return 

0

;

}

//==============================================================