Person *p2 = p;
表示p2 也指向了 p所指向的对象,所以p2 -> age = 30; 就相当于还是给p所指向的对象的成员变量_age赋值,所以打印结果是 年龄30 体重40的人在走。
Person *p2 = p; 这里并不是说p2获取p的地址,p2和p都是指针变量。比如说 int a = b; a b都是int类型,这句相当于把b赋值给a,所有a b 是相等的。
p2和p只不过是指针类型,但是跟int等其他数据类型是一个道理。
要是获取p的地址,应该是
Person *p2 = &p;
这就是指向指针的指针了。