0

私がレビューしているコードは、次の文字列割り当てを使用しています

char *str;
str ="";

次に、コーダーはこの「str」を使用して、次のような文字列を一時的に保持します。

str = "This is a message";
fwrite(str, 1 ,strlen(str), fp);

次に、この str を別の場所で再度使用して、同様の用途で新しい文字列を割り当てます。

これが機能することはわかっています。これがどのように機能するかを正確に知りたいです。charポインターを宣言して、そのような文字列を指すようにするにはどうすればよいでしょうか? そのようなポインターが保持できる最大文字列長はどれくらいでしょうか? この文字列はどこに保存されますか? それは自動的にmalloc'd ですか?

4

4 に答える 4

0

char *name;

name="some string";//name文字列の場所のアドレスへのポイント。

とは似ていません:

char str[];

str="some string";// str は文字を格納しようとしていますが、ポインターを割り当てているため、このタイプのステートメントは機能しないことに注意してください。

定数文字列は、常にその文字列へのポインターを表します。

于 2013-06-28T04:47:32.963 に答える