names
の配列にいくつの名前があるのか探したい。私はsizeof(names)/sizeof(names[0])
が正しい答えを与えることを知っています。しかし、問題は私がちょうどchar *names[];
を宣言することはできません。コンパイラが私にこのようなエラーを与えるので"名前の記憶は不明"。このエラーを回避するには、このように宣言する必要がありますchar *names[] = {"somename", "somename2"};
。しかし、問題は、減速の直後に文字列を割り当てることができないことです。私はいくつかの条件の後に文字列を割り当て、私の問題は、その条件の後にいくつの文字列があるかということです。文字列配列の要素数はいくつですか?
私の例です。アレイが作成されると
char *names[];
char word[10];
int i = 0;
while (fscanf(word, sizeof(word), fp)>0) {
// Think hello increase every time loop returns.
// such as "hello1", and the 2nd time "hello2"
if(strcmp(word, "hello1") == 0)
names[i] = word;
}
printf("size: %d\n", sizeof(names)/sizeof(names[0]));
次に、 'malloc'を使って動的に記憶域を割り当てます。 –
何もわかりません(* to me *)。あなたは試したことの例を見せていただけますか? – coderredoc
@OliverCharlesworthどうすれば 'malloc'を使うことができますか? –