#include <iostream>
using namespace std;
#include<string>
#include<ctime>
struct student
{
int age;
string name;
int score;
};
struct teacher
{
string name;
int age;
struct student s[3];
};
//赋值
void values( struct teacher ss[],int len)
{
string info = "ABC";
for (int i = 0; i<len;i++)
{
int age = 30;
ss[i].name = "teacher_";
ss[i].name += info[i];
ss[i].age = age;
ss[i].age +=rand() % 21;
for (int j =0;j<3;j++)
{
ss[i].s[j].name = "student";
ss[i].s[j].name += info[j];
ss[i].s[j].age = rand() % 10;
ss[i].s[j].age += 15;
ss[i].s[j].score = 60;
ss[i].s[j].score += rand()% 40;
}
}
}
void print_arr(struct teacher ss[],int len)
{
for(int i =0;i<len;i++)
{
cout<<ss[i].name
<<" 年龄"<<ss[i].age<<endl;
for(int j =0;j<3; j++)
{
cout<<"学生"<<j+1<<endl;
cout<<"姓名:"<<ss[i].s[j].name
<<" 年龄: "<<ss[i].s[j].age
<<" 得分: "<<ss[i].s[j].score<<endl;
}
cout<<" "<<endl;
}
}
int main() {
srand((unsigned)time(NULL));
struct teacher ss[3];
int len = sizeof(ss)/sizeof(ss[0]);
values(ss,len);
print_arr(ss,len);
return 0;
}
一个很简单的案例,这里用的是变量直接赋值,也可通过指针赋值,改变赋值方式->即可