使用jquery做网站,成色好的y31s标准版下载,东莞大朗网站建设,单品网站怎么建设大家好#xff1a; 衷心希望各位点赞。 您的问题请留在评论区#xff0c;我会及时回答。
一、结构体 C语言中#xff0c;结构体是用户根据实际问题而自行建立的一种数据类型#xff0c;是由一系列相同或不同数据类型的数据构成的集合。在实际问题中#xff0c;一个对象往…大家好 衷心希望各位点赞。 您的问题请留在评论区我会及时回答。
一、结构体 C语言中结构体是用户根据实际问题而自行建立的一种数据类型是由一系列相同或不同数据类型的数据构成的集合。在实际问题中一个对象往往具有多个属性需要一组不同类型的数据来表示。比如手机通讯录中的一条记录应该包括编号、姓名、电话号码、性别、生日、地址等信息。显然单个基本数据类型或数组不能表达一条通讯记录这时就需要用到结构体类型。结构体类型同C语言的基本数据类型一样可以赋值、作为函数的参数、作为函数的返回值。
1、结构体定义 结构体是由一个或多个变量组成的集合。这些变量称为结构成员结构成员可以是相同类型也可以是不同类型。结构体定义形式如下
struct 结构体名
{数据类型 成员名;数据类型 成员名;数据类型 成员名;...
}; 结构体名是定义结构体数据类型的名字在“{”和“}”之间的是结构体成员的列表每一个结构体成员由一个数据类型和合法标识符组成。 在程序中定义结构体时需要注意结构体成员可以是另外一个结构体类型比如
struct Date
{int year;int month;int day;
};struct Person
{string name;struct Date birthday;
};
2、结构体使用
通过结构体创建变量的方式有三种
struct 结构体名 变量名;
struct 结构体名 变量名 { 成员1值, 成员2值...};
定义结构体时顺便创建变量。
#include iostream
#include Windows.h
#include stringusing namespace std;//创建学生数据类型结构成员包括姓名、年龄、分数
//struct关键字不可省略
struct Student
{//成员列表string name;//姓名int age;//年龄int score;//分数
}s3;//定义结构体时顺便创建结构体变量int main(void) {//1、struct 结构体名 变量名;struct Student s1;//给s1的属性赋值s1.name 张三;s1.age 18;s1.score 100;cout 姓名 s1.name 年龄 s1.age 分数 s1.score endl;//2、struct 结构体名 变量名 { 成员1值, 成员2值... };struct Student s2 { 李四, 17, 90 };cout 姓名 s2.name 年龄 s2.age 分数 s2.score endl;//3、定义结构体时顺便创建结构体变量s3.name 王五;s3.age 16;s3.score 80;cout 姓名 s3.name 年龄 s3.age 分数 s3.score endl;system(pause);return 0;
}
运行截图 二、结构体数组 结构体数组是具有相同结构体类型的变量的集合可以用于存储和处理一批相同结构体类型的数据。结构体数组的每一个元素都是结构体类型数据每一个元素都包括含该结构体类型的所有成员。
#include iostream
#include Windows.h
#include stringusing namespace std;struct Student
{//成员列表string name;//姓名int age;//年龄int score;//分数
};
int main(void) {//创建结构体数组struct Student stuArray[3];stuArray[0] { 张三, 18, 100 };stuArray[1] { 李四, 17, 90 };stuArray[2] { 王五, 16, 80 };for (int i 0; i 3; i) {cout 姓名 stuArray[i].name 年龄 stuArray[i].age 分数 stuArray[i].score endl;}cout ---------- endl;//创建结构体数组同时赋初值struct Student stuArray1[3] {{ 小明, 8, 100 },{ 小军, 7, 90 },{ 小红, 6, 80 }};for (int i 0; i 3; i) {cout 姓名 stuArray1[i].name 年龄 stuArray1[i].age 分数 stuArray1[i].score endl;}system(pause);return 0;
}
运行截图 三、结构体指针 作用通过指针访问结构体中的成员利用指向运算符‘ - ’可以通过结构体指针访问结构体成员。
#include iostream
#include Windows.h
#include stringusing namespace std;struct Student
{//成员列表string name;//姓名int age;//年龄int score;//分数
};
int main(void) {//创建结构体变量并初始化struct Student stu { 张三, 18, 100 };//创建结构体指针并指向结构体变量struct Student* p stu;//结构体指针通过‘ - ’访问成员cout 姓名 p-name 年龄 p-age 分数 p-score endl;system(pause);return 0;
}
运行截图 四、结构体嵌套结构体 定义结构体中的成员可以是另外一个结构体。 比如每一个老师辅导一个学生一个老师结构体中记录一个学生结构体。
#include iostream
#include Windows.h
#include stringusing namespace std;struct Student
{//成员列表string name;//姓名int age;//年龄int score;//分数
};struct Teacher
{int id; //教师编号string name;int age;struct Student stu; //辅导的学生
};int main(void) {struct Teacher t1;t1.id 1000;t1.name 李老师;t1.age 40;t1.stu.name 张三;t1.stu.age 18;t1.stu.score 100;cout 教师 职工编号 t1.id 姓名 t1.name 年龄 t1.age endl;cout 学生 姓名 t1.stu.name 年龄 t1.stu.age 分数 t1.stu.score endl;system(pause);return 0;
}
运行截图 五、结构体作函数参数 像其他普通类型一样结构体类型也可以作为函数的参数类型和函数的返回值类型用结构体变量作为函数实参与普通变量作为函数实参没有区别都是传值调用。在函数内部对其操作不会引起结构体各个成员值的变化。 作用把结构体作为参数向函数中传递。 传递方式有两种值传递、地址传递 六、结构体中const使用场景 七、结构体案例