20.8.5,学习c++的第四天
学习内容
结构体的知识以及用法
练习
#include<iostream>
#include<string>
using namespace std;
struct student {
string name;
int age;
int score;
};
struct teacher {
string name;
int age;
struct student stu;
};
int main(){
//定义
struct student stu1;
stu1.name = "zhangsan";
stu1.age = 18;
stu1.score = 88;
struct student stu2 = {"lisi", 17, 77};
//结构体数组
struct student stuarr[2] = {
{"zhangsan", 18, 88},
{"lisi", 17, 77}
};
//结构体指针
struct student * p = &stu1;
p->score = 99; //结构体指针可以通过 -> 操作符 来访问结构体中的成员
//结构体嵌套
struct teacher t1;
t1.age = 55;
t1.name = "aslhfsdkjsl";
t1.stu.name = "zhangsan";
t1.stu.age = 18;
t1.stu.score = 88;
//const的使用
return 0;
}
还有一个关于结构体数组的冒泡排序的练习
#include<iostream>
using namespace std;
#include<string>
struct hero{
string name;
int age;
string sex;
};
void sort(hero *arr, int len){
for(int i = 0; i<len-1; i++){
for(int j = 0;j<len-1-i; j++){
if (arr[j].age < arr[j+1].age){
struct hero temp;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
void printHeros(hero arr[], int len)
{
for (int i = 0; i < len; i++)
{
cout << "姓名: " << arr[i].name << " 性别: " << arr[i].sex << " 年龄: " << arr[i].age << endl;
}
}
int main(){
cout<<"ceshi"<<endl;
struct hero heroarr[5] = {
{"liu", 23, "boy"},
{"guan", 22, "boy"},
{"zhang", 20, "boy"},
{"zhao", 21, "boy"},
{"diao", 19, "girl"}
};
int len = sizeof(heroarr) / sizeof(hero);
sort(heroarr, len);
printHeros(heroarr, len); //打印
system("pause");
return 0;
}