メモリ割り当て char* と char[] 質問する

メモリ割り当て char* と char[] 質問する

メモリ割り当てに関して、これら 2 つの違いは何ですか。

char *p1 = "hello"; 
char p2[] = "hello";

ベストアンサー1

最初のものはポインタ変数(プラットフォームに応じて4バイトまたは8バイトのストレージ)に格納され、位置2番目のものは文字列リテラルを作成します。配列6 文字 (ゼロ文字列終端バイトを含む) の文字列を作成し、そこにリテラルをコピーします。

リテラルが であるため、最初の行でコンパイラの警告が表示されるはずですconst

おすすめ記事