代码
#include<iostream>
#include<string>
using namespace std;
struct Student {
string name;
int age;
float score;
};
void PrintStudentByVal(struct Student s);
void PrintStudentByAddress(struct Student* p);
int main() {
struct Student s = {"sherlock", 18, 100.0f};
cout << "初始=》 姓名:" << s.name << " 年龄:" << s.age << " 分数:" << s.score << endl;
PrintStudentByVal(s);
cout << "main函数内=》 姓名:" << s.name << " 年龄:" << s.age << " 分数:" << s.score << endl;
struct Student* p = &s;
PrintStudentByAddress(p);
PrintStudentByAddress(&s);
cout << "main函数内=》 姓名:" << s.name << " 年龄:" << s.age << " 分数:" << s.score << endl;
return 0;
}
void PrintStudentByVal(struct Student s) {
s.age = 30;
s.score = 99;
cout << "值传递=》 姓名:" << s.name << " 年龄:" << s.age << " 分数:" << s.score << endl;
}
void PrintStudentByAddress(struct Student* p) {
p->age = 30;
p->score = 99;
cout << "地址传递=》 姓名:" << p->name << " 年龄:" << p->age << " 分数:" << p->score << endl;
}