假设我将结构 Human 定义为:
struct Human{int year, Human* Mom};
做表达
Human* Bob;
自动为 Bob 和它指向的 Human 对象分配内存?因为我注意到了
Bob == NULL
是假的;这是否意味着上面的表达式创建了对象 Human 的静态记忆?
另外,我注意到
Bob->year
不会自动初始化为 0,但是
Bob->Mom
正在初始化为NULL,这是为什么呢?
另一件事,如果我动态分配内存,例如
Human* Bob = new Human;
然后我发现
Bob->Mom
不再是NULL,这是怎么回事?