回答編集履歴
2
誤字修正
test
CHANGED
@@ -86,7 +86,7 @@
|
|
86
86
|
|
87
87
|
|
88
88
|
|
89
|
-
**「確保したp
|
89
|
+
**「確保したpというアドレス置き場」**に**「newで確保した別のメモリのエリアの先頭アドレス」**を書き込む。
|
90
90
|
|
91
91
|
|
92
92
|
|
1
追加
test
CHANGED
@@ -93,3 +93,21 @@
|
|
93
93
|
という動作になります。
|
94
94
|
|
95
95
|
`p`も`new`で確保したエリアも、両方メモリ上に確保されているのです。
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
ちなみに、
|
102
|
+
|
103
|
+
> int *p = 0とは何をやっているのでしょうか?
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
これ自体にはあまり意味はありません。C言語やC++では変数の初期値は不定なので、明示的に0=NULLでクリアしているだけかと思います。
|
108
|
+
|
109
|
+
変な値が入っていると、それが何か意味のあるアドレスなのかな?と勘違いする可能性もありますので。
|
110
|
+
|
111
|
+
NULLを入れておけば、確実に空なんだなと分かります。
|
112
|
+
|
113
|
+
(今回は直後で使っているのでほんとに意味はないですが、たぶん念のためでしょう)
|