|
@@ -0,0 +1,77 @@
|
|
|
+#include <iostream>
|
|
|
+
|
|
|
+//结构体基本概念
|
|
|
+//结构体属于用户自定义的数据类型,允许用户存储不同的数据类型
|
|
|
+
|
|
|
+
|
|
|
+//结构体定义和使用
|
|
|
+//struct 结构体名 { 结构体成员列表 };
|
|
|
+//通过结构体创建变量的方式有三种:
|
|
|
+//⚪struct 结构体名 变量名
|
|
|
+//⚪struct 结构体名 变量名 = { 成员1值 , 成员2值 }
|
|
|
+//⚪定义结构体时顺便创建变量
|
|
|
+
|
|
|
+//1、创建学生数据类型 学生包括的属性:( 姓名、年龄、分数 )
|
|
|
+//一些类型的集合组成的自定义的数据类型
|
|
|
+
|
|
|
+#if(0)
|
|
|
+
|
|
|
+struct Student
|
|
|
+{
|
|
|
+ //成员列表
|
|
|
+
|
|
|
+ //姓名
|
|
|
+ std::string name;
|
|
|
+
|
|
|
+ //年龄
|
|
|
+ int age;
|
|
|
+
|
|
|
+ //分数
|
|
|
+ int score;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+}s3; //创建一个结构体变量
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+int main()
|
|
|
+{
|
|
|
+
|
|
|
+
|
|
|
+ //2、通过学生类型创建具体的学生
|
|
|
+
|
|
|
+ //① struct Student s1
|
|
|
+ //创建变量 struct 关键字可以省略 定义不可以省略
|
|
|
+ Student s1;
|
|
|
+ //给s1属性赋值,通过.访问结构体变量中的属性
|
|
|
+ s1.name = "张三";
|
|
|
+ s1.age = 18;
|
|
|
+ s1.score = 100;
|
|
|
+
|
|
|
+ std::cout << "姓名:" << s1.name << "年龄:" << s1.age << "分数:" << s1.score << std::endl;
|
|
|
+
|
|
|
+ //② struct Student s2 = { ... }
|
|
|
+ struct Student s2 = { "李四" , 19 , 80 };
|
|
|
+ std::cout << "姓名:" << s2.name << "年龄:" << s2.age << "分数:" << s2.score << std::endl;
|
|
|
+
|
|
|
+ //③ 在定义结构体时 顺便创建结构体变量(不建议用)
|
|
|
+ s3.name = "王五";
|
|
|
+ s3.age = 20;
|
|
|
+ s3.score = 60;
|
|
|
+ std::cout << "姓名:" << s3.name << "年龄:" << s3.age << "分数:" << s3.score << std::endl;
|
|
|
+
|
|
|
+
|
|
|
+ system("pause");
|
|
|
+
|
|
|
+ return 0;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+#endif
|
|
|
+
|
|
|
+//总结1:定义结构体时关键字是struct , 不可省略
|
|
|
+
|
|
|
+//总结2:创建结构体变量时,关键字struct可以省略
|
|
|
+
|
|
|
+//总结3:结构体变量利用操作符"." 访问成员
|