質問: 2次元配列 char *p[ ][2]は、 [2]で二文字しか入らないのに、 何処に、"レッドデリシャス"の様な長い文字列がはいるのでしょうか? 教えてください。 char *p[ ][2]={ {"レッドデリシャス" , "赤"}, {"ゴールデンデリシャス","黄色"}, {"ワインカップ" , "赤"}, {"ガラ" , "赤みのオレンジ色"} };
回答: 再び#2です。 >3次元配列と同じと考えてもいいんでしょうか? cにおいて、定義するときには配列でもその後参照するときには只のポインタ演算でしかないと言うことを承知の上で、 便宜上(3次元)配列と考えるのは構わないと思います。 但し、#1さんも書いていますが参照している領域が配列ではないことは意識しておく必要があります。 #それが理由で、私は配列と考えない方をお勧めするわけですが。