16

Cで2次元配列をtypedefする方法はありますか? 何かのようなもの:

typedef char[10][10] board;

この例はコンパイルされません。それを行う方法はありますか?または他の解決策はありますか?

4

2 に答える 2

20

これを試して:

typedef char board[10][10];

次に、新しい配列を次のように定義できます。

board double_array = {"hello", "world"}; 

それは同じです:

char double_array[10][10] = {"hello", "world"};
于 2013-07-21T09:51:07.900 に答える
5

タイプ定義ステートメント

型定義ステートメントを使用して、ユーザー定義のデータ型を、既に使用可能な他のデータ型を使用して定義できるようにします。

基本フォーマット:

typedef existing_data_type new_user_defined_data_type;

したがって、あなたのものは次のようになります。

typedef char board[10][10];

Yu Hao が言ったように使用できます。または、char ポインターで使用して、次のような 2D 配列を定義することもできます。

typedef char *board[10];

そして、YU Hao の説明に従って実行できます。このように、文字列に使用する文字数をハードコーディングする必要はありません。

于 2013-07-21T09:53:33.990 に答える