fork download
  1. #include <iostream>
  2. #include <ios>
  3.  
  4. int main()
  5. {
  6. int ia[ 2 ][ 4 ] = { { 1, 3, 5, 7 }, { 2, 4, 6, 8 } };
  7. int (*ip)[ 4 ] = ia;
  8.  
  9. std::cout << std::hex << ia << std::dec;
  10. std::cout << " ia" << std::endl;
  11.  
  12. std::cout << "---" << std::endl;
  13.  
  14. for ( int i = 0 ; i < 2 ; ++i )
  15. {
  16. for ( int j = 0 ; j < 4 ; ++j )
  17. {
  18. std::cout << std::hex << &( ia[ i ][ j ] ) << std::dec;
  19. std::cout << " ia[ " << i << " ][ " << j << " ]" << std::endl;
  20. }
  21. }
  22.  
  23. std::cout << "---" << std::endl;
  24.  
  25. std::cout << "sizeof( ia ) == " << sizeof( ia ) << std::endl;
  26. std::cout << "sizeof( ip ) == " << sizeof( ip ) << std::endl;
  27.  
  28. std::cout << "---" << std::endl;
  29.  
  30. std::cout << "sizeof( int[ 1 ] ) == " << sizeof( int[ 1 ] ) << std::endl;
  31. std::cout << "sizeof( int[ 2 ] ) == " << sizeof( int[ 2 ] ) << std::endl;
  32. std::cout << "sizeof( int[ 3 ] ) == " << sizeof( int[ 3 ] ) << std::endl;
  33. std::cout << "sizeof( int[ 4 ] ) == " << sizeof( int[ 4 ] ) << std::endl;
  34.  
  35. std::cout << "---" << std::endl;
  36.  
  37. std::cout << "sizeof( int[ 4 ] ) == " << sizeof( int[ 4 ] ) << std::endl;
  38. std::cout << "sizeof( int (*)[ 4 ] ) == " << sizeof( int (*)[ 4 ] ) << std::endl;
  39. std::cout << "sizeof( int (*[ 2 ])[ 4 ] ) == " << sizeof( int (*[ 2 ])[ 4 ] ) << std::endl;
  40. std::cout << "sizeof( int** ) == " << sizeof( int** ) << std::endl;
  41.  
  42. std::cout << "---" << std::endl;
  43.  
  44. for ( int i = 0 ; i < 2 ; ++i )
  45. {
  46. for ( int j = 0 ; j < 4 ; ++j )
  47. {
  48. std::cout << ip[ i ][ j ] << ' ';
  49. }
  50. std::cout << std::endl;
  51. }
  52.  
  53. return 0;
  54. }
  55.  
Success #stdin #stdout 0.02s 2728KB
stdin
Standard input is empty
stdout
0xbfdd50c4 ia
---
0xbfdd50c4 ia[ 0 ][ 0 ]
0xbfdd50c8 ia[ 0 ][ 1 ]
0xbfdd50cc ia[ 0 ][ 2 ]
0xbfdd50d0 ia[ 0 ][ 3 ]
0xbfdd50d4 ia[ 1 ][ 0 ]
0xbfdd50d8 ia[ 1 ][ 1 ]
0xbfdd50dc ia[ 1 ][ 2 ]
0xbfdd50e0 ia[ 1 ][ 3 ]
---
sizeof( ia ) == 32
sizeof( ip ) == 4
---
sizeof( int[ 1 ] ) == 4
sizeof( int[ 2 ] ) == 8
sizeof( int[ 3 ] ) == 12
sizeof( int[ 4 ] ) == 16
---
sizeof( int[ 4 ]          ) == 16
sizeof( int (*)[ 4 ]      ) == 4
sizeof( int (*[ 2 ])[ 4 ] ) == 8
sizeof( int**             ) == 4
---
1 3 5 7 
2 4 6 8