我对C++比较陌生,我正在尝试使用 - > with structs.我有这个代码,应该从结构中打印出名称和年龄.我知道 - >当变量是一个指针时使用,所以我试图用以下代码声明一个指向struct的指针:
typedef struct Person{
string name;
int age;
};
int main() {
Person me;
me.name = "name";
me.age = 1;
Person* me2;
*me2 = me;
cout << me2->name << "," << me2->age << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
此代码导致分段错误.
但是,如果我改变了
*me2 = me
Run Code Online (Sandbox Code Playgroud)
至
me2 = &me
Run Code Online (Sandbox Code Playgroud)
代码工作正常(打印出名称和年龄).
我不确定为什么这两行代码不相同.我以为我被允许用*更改指针的内容,但我不确定为什么这不起作用.请问有人帮我理解吗?