结构类型

结构类型【结构类型】我们把一些不同类型的数据组合成一个整体 , 如一个学生的学号、姓名、班级、年龄和成绩等 , 虽然各个属性分别属于不同的数据类型 , 但是它们之间密切相关 , 各种信息都属于同一个人 。这时 , 可以声明一个结构型的数据类型 , 由多种数据类型 , 可以是基本数据类型 , 也可以是自定义的数据类型 , 组成一个集合 。
基本介绍中文名:结构类型
外文名: structure type
简介我们把一些不同类型的数据组合成一个整体 , 如一个学生的学号、姓名、班级、年龄和成绩等 , 虽然各个属性分别属于不同的数据类型 , 但是它们之间密切相关 , 各种信息都属于同一个人 。这时 , 可以声明一个结构型的数据类型 , 由多种数据类型 , 可以是基本数据类型 , 也可以是自定义的数据类型 , 组成一个集合 。定义struct 结构类型名{ 数据类型说明符1 成员名1;数据类型说明符2 成员名2;……数据类型说明符n 成员名n;};struct是一个关键字 , 表示结构类型定义的开始 , 结构类型说明符可以是int、float、char等等各数据类型 。花括弧括起来的就是组成结构的各个组成部分 。这里定义的结构类型名就相当于int、float等 。定义一个结构类型变数结构类型名 变数名;我们以学生为例 , 先定义结构类型:struct student{ long num; //代表学号char name[20]; //代表姓名char sex; //代表性别int age; //代表年龄float score; //代表成绩};接下来定义一个student类型的变数:student s1;变数定义时要分配存储空间 , 给s1分配的存储空间是其结构类型中所有成员所占空间的总和 。定义结构体数组我们以学生为例 , 先定义结构类型:struct student{ long num; //代表学号char name[20]; //代表姓名char sex; //代表性别int age; //代表年龄float score; //代表成绩}; stu[3]这其中 stu[1]具有num,name,sex,age,score这5个成员 , stu[2]和stu[3]也具有;数组各元素在记忆体中连续存放 。引用当我们要访问s1的结构成员时 , 我们要使用圆点操作符“.” 。引用形式为:结构变数名.成员名例如 , 输出s1的名字:cout<<s1.name;初始化对s1初始化有两种方式:在变数定义同时初始化:student s1={40741011,”Li Li”,’F’,19,94};也可以单独的给各个成员赋值:s1.num=40741011;s1.name=”Li Li”3. 属于同一结构类型的各个变数之间可以相互赋值 , 这和数组不同 。比如:student s1,s2;s1=s2 //把s2的各成员值赋给s1注意相互赋值的必须是同一结构的变数 , 不同结构的变数不允许相互赋值 , 即使它们有相同的成员 。