#include <iostream>

int t[] = { 1, 2, 3, 4, 5 };

int main()
{
  int *p = t;
  
  std::cout << "t = " << std::hex << t << std::endl;      // 0x404010
  std::cout << "p = " << std::hex << p << std::endl;      // 0x404010
  std::cout << "sizeof(t) = " << sizeof(t) << std::endl;  // 14 (impl. dependant)
  std::cout << "sizeof(p) = " << sizeof(p) << std::endl;  // 8  (impl. dependant)
  std::cout << "t[2] = " << t[2] << std::endl;            // ok: 3
  std::cout << "p[2] = " << p[2] << std::endl;            // ok: 3
  
  ++p;  // ok, p can be lvalue
  //++t;  // syntax error, t cannot be lvalue

  return 0;
}