c++ 基础知识-结构体
1.初始化结构体,结构体数组
#include
#include
using namespace std;
struct Student
{
string name;
int age;
};
int main()
{
Student stuArr[] = {{"a",1},{"b",2},{"c",3}};
stuArr[1].name = "d";
stuArr[1].age = 4;
for (int i = 0;i
cout<<"name :"<
2.结构体指针
#include
#include
using namespace std;
struct Student
{
string name;
int age;
};
int main()
{
Student stu;
stu.name = "a";
stu.age = 2;
Student *p = &stu;
//*p->name = "b";
//*p->age = 5;
cout<<"name :"<name<name 不是*p->name
cout<<"age :"<age<
3.结构体嵌套
#include
#include
using namespace std;
struct Learn
{
int math;
int english;
};
struct Student
{
string name;
int age;
struct Learn learn;
};
int main()
{
Student stu;
stu.name = "a";
stu.age = 5;
//Learn learn;
stu.learn.english = 10;
stu.learn.math = 20;
cout<
4.结构体作为函数参数
#include
#include
using namespace std;
struct Student
{
string name;
int age;
};
//void CoutStruct(Student stu);//值传递,需要重新开辟空间,浪费内存
void CoutStruct(Student * stu);//指针,节省空间
//void CoutStruct(const Student * stu);//通常加const,保证输入不改变
int main()
{
Student stu;
stu.age = 19;
stu.name = "a";
Student * p = &stu;
CoutStruct(p);
cout<<"age: "<
// stu.age = 30;
// cout<<"age: "<
stu->age = 30;
cout<<"age: "<age<name<