fork download
  1. #include <iostream>
  2. #include <cstdio>
  3.  
  4. using namespace std;
  5.  
  6. int main(int argc, char **argv){
  7. int a = 10, d = 9;
  8. int &b = a;
  9. int *c = &a;
  10. int *e;
  11. e = &a;
  12. a = a + 1;
  13. b += 1;
  14. *e = 20;
  15. cout << "a addr : " << &a << " , a val : " << a << endl;
  16. cout << "b addr : " << &b << " , a val : " << b << endl;
  17. cout << "c addr : " << &c << " , c val : " << *c << endl;
  18. cout << "c addr : " << c << " , c val : " << *c << endl;
  19. cout << "d addr : " << &e << " , e val : " << *e << endl;
  20.  
  21. const int * cptr1;
  22. cptr1 = &a;
  23. // *cptr1 = 7788; -> error
  24. cout << "*c = " << *cptr1 << endl;
  25. cptr1 = &d;
  26. cout << "*c = " << *cptr1 << endl;
  27.  
  28. int *const cptr2 = &a;
  29. cout << "*c = " << *cptr2 << endl;
  30. *cptr2 = 78;
  31. cout << "*c = " << *cptr2 << endl;
  32. *cptr2 = 10;
  33. // cptr2 = &b; -> error
  34.  
  35. const int *const cptr3 = &a;
  36. cout << "*c = " << *cptr3 << endl;
  37. // *cptr3 = 7788; -> error
  38. // cptr2 = &b; -> error
  39.  
  40. return 0;
  41. }
Success #stdin #stdout 0s 4328KB
stdin
Standard input is empty
stdout
a addr : 0x7ffc7bd925a4 , a val : 20
b addr : 0x7ffc7bd925a4 , a val : 20
c addr : 0x7ffc7bd925a8 , c val : 20
c addr : 0x7ffc7bd925a4 , c val : 20
d addr : 0x7ffc7bd925b0 , e val : 20
*c = 20
*c = 9
*c = 20
*c = 78
*c = 10