1. ホーム
  2. c

[解決済み] C言語で文字列を宣言する方法 [重複] (英語)

2022-09-06 16:26:42

質問

これらのコードの行の違いは何なのか、どなたか教えてください。

char *p = "String";
char p2[] = "String";
char p3[7] = "String";

どのような場合に上記の各項目を使用すればよいのでしょうか?

どのように解決するのですか?

このリンク は、あなたの好奇心を満たすはずです。

基本的に(3番目の例が悪いのは忘れてください)、1と2の違いは、1が配列へのポインタのためにスペースを確保することです。

しかし、コードでは、あなたはそれらをすべて同じポインタとして操作することができます -- 唯一のことは、あなたは2番目のものを再割り当てすることができないということです。