-4
#ifndef HW4Q2_H_INCLUDED
#define HW4Q2_H_INCLUDED
#define MAX_WORD_LEN 10

struct dict{
    int len;
    char (*dict0)[MAX_WORD_LEN+1];
    char (*dict1)[MAX_WORD_LEN+1];
};

void translate(char* currWord, char* newWord, struct dict* myDict, int lang);
void createDict(struct dict* myDict);
void destroyDict(struct dict* myDict);

#endif

私はcで宿題をしており、このヘッダーファイルがあります..しかし、「char (*dict0)[MAX_WORD_LEN+1];」とは何ですか? 意味?私はこれを前に見たことがありません..それを書くための同等の方法はありますか? 説明してください!私は絶望的です:( 10qのみんな!

4

2 に答える 2

3

cdeclをいじる必要があります。これは、このようなものの解析に役立ちます。

MAX_WORD_LEN+1式を数字 (11 など) に置き換えると、次のようになります。

dict0 を char の配列 11 へのポインタとして宣言します

それがそのコードの意味です。size 、つまり 11の配列dict0へのポインタとして宣言します。charMAX_WORD_LEN + 1

于 2013-01-15T15:18:27.873 に答える
2
char (*dict0)[MAX_WORD_LEN + 1];

dict0このコードは、 size の char 配列へのポインタであることを宣言していますMAX_WORD_LEN + 1

また、 などの C 宣言パーサーがない場合cdeclでも、この単純な経験則を使用して複雑な型を理解できます。

于 2013-01-15T15:18:13.540 に答える