2016-03-21 8 views
1

次の行をコンパイルすると、タイプ 'char * [80]'に ' char ** '"エラーが発生しました。 'nw'と 'source'の両方が(文構造タイプの)文です。 この質問は、それ以外のところでは議論されていない2次元配列を扱うことと同じです。タイプ 'char * [80]'からタイプ 'char **'エラーに割り当てるときに互換性のないタイプ

nw.sentence = source->sentence; 

文の構造の種類は以下のとおりです。

typedef struct { 
    char *sentence[MAX_LINE_LENGTH]; 
} sentence; 

感謝。

答えて

0

あなたはこれがxは、言い換えれば、int *を入力していることを宣言

int *x; 

を意味していると仮定はintへのポインタです。同じロジックでは、宣言

char *sentence[MAX_LINE_LENGTH]; 

は(MAX_LINE_LENGTH素子のアレイである)sentence[MAX_LINE_LENGTH]のすべての要素が他の言葉で、char *を入力したことを意味する文字列へのポインタです。

結論として、char *sentence[MAX_LINE_LENGTH]の各要素は文字列を指しています。最後は文字列へのポインタにポインタであるので、これは宣言

char ** sentence; 

は異なっています。

関連する問題