2次元配列のエラーご指摘お願いします

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
三木

2次元配列のエラーご指摘お願いします

#1

投稿記事 by 三木 » 14年前

以下のような配列を作ったのですが、エラーが出ます。
「invalid initializer on array」等です。
char Ablock_name_table[][3] = {
{"yamada", "", ""},
{"yamada", "yamada", ""}
};

おかしなところをご指摘ください。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: 2次元配列のエラーご指摘お願いします

#2

投稿記事 by ISLe » 14年前

2次元配列を3次元のデータで初期化しようとしています。
文字列はcharの配列です。

char Ablock_name_table[][3][N] = { … /* Nは文字列を格納するのに十分な大きさの値 */

const char *Ablock_name_table[][3] = { …

どちらかが期待されているものではないかと想像します。

haga

Re: 2次元配列のエラーご指摘お願いします

#3

投稿記事 by haga » 14年前

[]はややこしいので
文字列の配列を扱うときは*を使うべきだと思います。

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: 2次元配列のエラーご指摘お願いします

#4

投稿記事 by ISLe » 14年前

haga さんが書きました:[]はややこしいので
文字列の配列を扱うときは*を使うべきだと思います。
[]で確保した領域は初期化された文字列を書きかえることができます。
*で文字列リテラルを差しているときは(基本的に)書きかえることができません。
違いがあるので、きちんと使い分けるべきかと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る