まず第一に、私の英語で文法の間違いなどをしたら申し訳ありません...
私の質問は、2 次元配列がある場合、私が正しければ、コンピューターと C/C++ の観点からは、それは単なる長い 1 次元配列であり、インデックスはコンパイラが具象にマップするのを支援しているだけだということです。住所。
このコード フラグメントは Visual C++ で動作しますが、このコードが移植可能であり、標準(C++98) に準拠 しており 、他のアーキテクチャやオペレーティング システムで驚きを引き起こさないかどうかを知りたいです。
int arr[][3] = { 1, 5, 3, 7, 5, 2, 7, 8, 9 };
const int ARR_NUM = sizeof(arr) / sizeof(int);
int* ptr = reinterpret_cast<int*>(arr); // NOT: int(*)[][3] !!!
for (int i = 0; i < ARR_NUM; ++i) {
cout << ptr[i] << endl;
}