3
私は2次元配列を伝染性のある一連のバイトとして想像することができます。私の質問は、未定義のビヘイビアを呼び出さずに、明示的キャストで1次元配列として扱うことができますか?2次元配列を1として扱うために定義された振る舞いですか?
次のコードをgccでテストしたところ、正常に動作し、クラッシュしませんでした。スタンダードはそれについて何を言いますか?
int main(void)
{
char buf[2][5];
strcpy((char *)buf, "link 101");
printf("%s\n", (char *)buf);
return 0;
}
ただ、私はこれを考える良い理由があります。
Fyiは、「私はこれをこのように考える良い理由がある」 - その理由はおそらくあなたの質問に言及する価値があるでしょう。 – WhozCraig
はい、対応しています。 [多次元配列への一次元アクセス:明確に定義されたC?](http://stackoverflow.com/questions/6290956/one-dimensional-access-to-a-multidimensional-array-well-defined-c)を参照してください。 。 – dxiv
http://stackoverflow.com/questions/27093290/can-an-array-have-trailing-padding – BLUEPIXY