#include <iostream>
using namespace std;

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

	// Reinterpret the array with different indices
	int(*array_pointer)[3][2] = reinterpret_cast<int(*)[3][2]>(array);
	
	for (int x = 0; x < 3; ++x) {
	    for (int y = 0; y < 2; ++y)
	        std::cout << (*array_pointer)[x][y] << " ";
	    std::cout << std::endl;
	}
	// Output:
	// 1 2
	// 3 4
	// 5 6

	return 0;
}