#include <iostream>
int main()
{
  int number = 256;
  int* pointer = new int(42);
  int* pTN = &number;  // Abkürzung für: pointerToNumber
  int* pTN2 = &number;
  int* pointerToNull = nullptr;

  std::cout << "Name     | Adresse        | Wert\n"
    << "--------------------------------\n"
    << "pointer  |" << pointer << "|" << *pointer << "\n"
    << "pTN      |" << pTN     << "|" << *pTN << "\n"
    << "pTN2     |" << pTN2    << "|" << *pTN2 << "\n\n";

  // Änderung des Wertes
  number = 177;
  std::cout << "Name     | Adresse        | Wert\n"
    << "--------------------------------\n"
    << "pointer  |" << pointer << "|" << *pointer << "\n"
    << "pTN      |" << pTN     << "|" << *pTN << "\n"
    << "pTN2     |" << pTN2    << "|" << *pTN2 << "\n";
  return 0;
}
// Hinweis: Dieses Programm enthält ein Memory-Leak,
// welches erst auf einer der nächsten Buchseiten
// behoben wird!
