"string [5] [*]"の次元を持つ2次元文字列配列を作成したいと思っていましたが、私はこのような何かをしたいと思います:2行の配列をC言語で固定した2次元配列を作成
...
for(i = 0;i < 5;i++){
char* word = ...;
if(strcmp(word,...)){
string[i][j] = (char *) malloc(/*size of word*/);
string[i][j] = word;
j++;
}
}
「文字列」変数は、i番目の方向に長さ5のものでなければならないと私はj番目の方向に必要なだけを成長させるべきです。
私がやってみました:
char* string[5];
それが動作するようには思えません。上記のforループは単純化されており、部品は論理的でないように見えることに注意してください。
EDIT: 私は5つのカテゴリに文字列のリストをソートしようとしています。したがって、n次元配列は、特定の数の文字列(文字ではありません)を含む5つの配列を保持する必要があります。これは私が想定している3次元のchar配列ですが、それを書く方法を考えるのに問題がありました。すべての文字列[i] [j]タームがchar配列を保持したい。だから、string [0] [0]は "cat"などに等しいかもしれません。
malloc()は成功するためのものではないことに注意してください。 NULLを戻してからエラー状態を処理するかどうかを確認する必要があります。 – SecurityMatt