#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;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgYXJyYXlbMl1bM10gPSAgIHsgICB7IDEsIDIsIDMgfSwKICAgICAgICAgICAgICAgICAgICAgICAgeyA0LCA1LCA2IH0gCiAgICAgICAgICAgICAgICAgICAgfTsKCgkvLyBSZWludGVycHJldCB0aGUgYXJyYXkgd2l0aCBkaWZmZXJlbnQgaW5kaWNlcwoJaW50KCphcnJheV9wb2ludGVyKVszXVsyXSA9IHJlaW50ZXJwcmV0X2Nhc3Q8aW50KCopWzNdWzJdPihhcnJheSk7CgkKCWZvciAoaW50IHggPSAwOyB4IDwgMzsgKyt4KSB7CgkgICAgZm9yIChpbnQgeSA9IDA7IHkgPCAyOyArK3kpCgkgICAgICAgIHN0ZDo6Y291dCA8PCAoKmFycmF5X3BvaW50ZXIpW3hdW3ldIDw8ICIgIjsKCSAgICBzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoJfQoJLy8gT3V0cHV0OgoJLy8gMSAyCgkvLyAzIDQKCS8vIDUgNgoKCXJldHVybiAwOwp9