#include<iostream>
using namespace std;#include<string>//结构体
struct Student {string name;int age;int score;}st3;/**结构体作为函数参数传参*/
//值传递
void printStufdent1(struct Student st3) {cout << "子函数" << endl;st3.age = 100;cout << "名字:" << st3.name << " 年龄:" << st3.age << " 分数:" << st3.score << endl;}
//地址传递
void printStufdent2(struct Student * p) {p->age = 200;cout << "子函数" << endl;cout << "名字:" << p->name << " 年龄:" << p->age << " 分数:" << p->score << endl;}int main() {struct Student st1;st1.name = "zhangsan";st1.age = 18;st1.score = 60;//cout << "名字" << st1.name << "年龄" << st1.age << "分数" << st1.score<< endl;struct Student st2={"李四",20,70};
// cout << "名字" << st2.name << "年龄" << st2.age << "分数" << st2.score<< endl;st3.name = "王五";st3.age = 19;st3.score = 59;printStufdent1(st3);cout << "main函数" << endl;cout << "名字:" << st3.name << " 年龄:" << st3.age << " 分数:" << st3.score << endl;printStufdent2(&st3);cout << "main函数" << endl;cout << "名字:" << st3.name << " 年龄:" << st3.age << " 分数:" << st3.score << endl;system("pause");}
从结果我们知道结构体作为函数的参数传参有两种形式