c++ - char* a[100]是什么意思?
高洛峰
高洛峰 2017-04-17 15:23:51
0
3
1567

是存放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" };

上面就不会出错,而下面就会出错,为什么?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(3)
大家讲道理

はポインターの配列です。
配列内の各要素は char* 型で、それぞれ各文字列の最初のアドレスを指します。
次の配列要素には 10 個を超える要素があります。

いいねを押す +0
黄舟

リーリー


エラー C2078: 初期化子が多すぎます
このエラーは、初期化コンテンツが多すぎることです。これは、宣言した長さが 10 で、初期化コンテンツに 11 個のコンテンツがあるためです。初期化すると、配列が範囲外になるためコンパイルできません。ただし、100>11 であるため、2 行目はコンパイルして渡すことができます。
変更

いいねを押す +0
伊谢尔伦

簡単に言うと、コードは char 型の 2 次元配列を生成します。最初の次元は 10 で、2 番目の次元は任意の長さ (char[10][]
) です。したがって、以下のプログラムは次のようになります。 1 つの次元の長さが 10

を超える場合、エラーが報告されます。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!