- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CHAR型ポインタについて。)
CHAR型ポインタについて
このQ&Aのポイント
- CHAR型ポインタについて。C言語初心者の質問。
- ポインタ変数に文字列を代入する方法について疑問。アドレスを格納する変数に文字列を代入する記述の正当性と、文字列のメモリ上での格納について。
- 質問内容はC言語初心者によるCHAR型ポインタの使い方に関する疑問。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一見、ポインタ型の変数に、文字列そのものを代入している様に見えますが、 ダブルコーテーションで囲まれた文字列は、プログラム領域に文字型の配列として配置され、その先頭アドレスがポンインター型変数に渡されています。 意味合いとしては、 cosnt char s1[] = { 'a','b','c','d','e','f','g', '\0' };; cosnt char *pc1 = s1; と同じです。
その他の回答 (1)
- zwi
- ベストアンサー率56% (730/1282)
回答No.1
"abcdefg"は文字列定数のポインタです。 つまり、const char *pc1 = "abcdefg"; //←ココ これはポインタを代入しているだけです。「文字列を代入」しているわけではありません。
質問者
お礼
なるほど。 それなら合点があいますね。 参考になりました。
お礼
なるほど。一度、プログラム領域に文字型配列が展開されて、そのアドレスがポインタに格納されたのですね。 分かりやすいご回答ありがとうございました。 お陰で、イメージが湧きました。