#include <iostream>
#include <ios>

int main()
{
	int ia[ 2 ][ 4 ] = { { 1, 3, 5, 7 }, { 2, 4, 6, 8 } };

	//int** ip = ia;
	int* ip = reinterpret_cast< int* >( ia );

	std::cout << std::hex << ia;
	std::cout << " ia" << std::endl;

	std::cout << "---" << std::endl;

	for ( int i = 0 ; i < 2 ; ++i )
	{
		for ( int j = 0 ; j < 4 ; ++j )
		{
			std::cout << std::hex << &( ia[ i ][ j ] );
			std::cout << " ia[ " << i << " ][ " << j << " ]" << std::endl;
		}
	}

	std::cout << "---" << std::endl;

	std::cout << "sizeof( ia ) == " << sizeof( ia ) << std::endl;
	std::cout << "sizeof( ip ) == " << sizeof( ip ) << std::endl;

	std::cout << "---" << std::endl;

	for ( int i = 0 ; i < 2 ; ++i )
	{
		for ( int j = 0 ; j < 4 ; ++j )
		{
			//std::cout << ip[ i ][ j ] << ' ';
			std::cout << *( ip + 4 * i + j ) << ' ';
		}
		std::cout << std::endl;
	}

	return 0;
}
