是存放100个字符串的数组吗?
//通过
char* binary[100] = { "0", "00", "01", "10", "000", "001", "010", "011", "100",
"101", "110" };
//出错
char* binary[10] = { "0", "00", "01", "10", "000", "001", "010", "011", "100",
"101", "110" };
上面就不会出错,而下面就会出错,为什么?
大家讲道理2017-04-17 15:25:51
はポインターの配列です。
配列内の各要素は char* 型で、それぞれ各文字列の最初のアドレスを指します。
次の配列要素には 10 個を超える要素があります。
黄舟2017-04-17 15:25:51
リーリー
エラー C2078: 初期化子が多すぎます
このエラーは、初期化コンテンツが多すぎることです。これは、宣言した長さが 10 で、初期化コンテンツに 11 個のコンテンツがあるためです。初期化すると、配列が範囲外になるためコンパイルできません。ただし、100>11 であるため、2 行目はコンパイルして渡すことができます。
変更
伊谢尔伦2017-04-17 15:25:51
簡単に言うと、コードは char 型の 2 次元配列を生成します。最初の次元は 10 で、2 番目の次元は任意の長さ (char[10][]
) です。したがって、以下のプログラムは次のようになります。 1 つの次元の長さが 10