重複の可能性:
C ++で構造体へのポインタを宣言すると、そのメンバーにメモリが自動的に割り当てられます。私が間違っている?
構造Humanを次のように定義するとします。
struct Human{int year, Human* Mom};
式を行います
Human* Bob;
ボブとそれが指しているヒューマンオブジェクトの両方にメモリを自動的に割り当てますか?気づいたので
Bob == NULL
偽です。これは、上記の式がオブジェクトHumanの静的メモリを作成することを意味しますか?
また、私はそれに気づきました
Bob->year
自動的に0に初期化されませんが、
Bob->Mom
NULLに初期化されていますが、それはなぜですか?
もう1つ、メモリを動的に割り当てる場合、たとえば
Human* Bob = new Human;
それから私はそれを見つけました
Bob->Mom
もはやNULLではありません、これはどのように起こっていますか?