#include <iostream>
using namespace std;

int main() {
	const short si2DArray[2][3] = { { 11, 12, 13 }, { 21, 22, 23 } };
	const auto psi2DPointer = reinterpret_cast<const char*>(si2DArray);
	
	for(auto i = 0U; i < sizeof(si2DArray) / sizeof(*si2DArray); ++i) {
	    for(auto j = 0U; j < sizeof(*si2DArray) / sizeof(**si2DArray); ++j) {
	        cout << *reinterpret_cast<const short*>(psi2DPointer + i * sizeof(*si2DArray) + j * sizeof(**si2DArray)) << '\t';
	    }
	    cout << endl;
	}
}