石家庄网站建设机构,wordpress页面打不开,canvas效果网站,WordPress ajax 跨域《c语言程序设计基础7构造数据类型第7章 构造数据类型 第7章 构造数据类型 第7章 构造数据类型 7.1 构造数据类型概述 构造数据类型是C语言的一个特色#xff0c;它是由一些简单数据类型构造而来的。 前面所学的数组就是其中最基本的的一种。数组是由若干类型相同的元素构成它是由一些简单数据类型构造而来的。 前面所学的数组就是其中最基本的的一种。数组是由若干类型相同的元素构成在内存中占用一块连续的区域并且按顺序存放例如学生成绩单、字符串、矩阵、数据表格等都可以用数组来表示它们的元素具有同样的数据类型。 但在实际程序设计中我们经常要把一些类型不同却又紧密联系的数据项组织在一起加以处理。 7.2 结构体与结构体类型变量的定义 7.2.1 结构体的定义 就本质而言结构体是一种较为复杂的构造类型数据。它是由若干不同类型的数据项组成构成结构体的各个数据项称为结构体成员也叫成员变量。在使用结构体类型前我们首先要对结构体内所包含信息作一说明即定义结构体。 7.2.1 结构体的定义 struct为关键字它表示一个结构体定义的开始它与其后的结构体名一起代表某一特定的结构体类型。 结构体名是由用户自己定义的合法标识符。 成员表列由一对花括号括起来其中每个成员都是该结构体的一个组成部分并且必须列出其类型和变量的名称。结构体中各成员之间用分号隔开。 并且结构体定义也是用分号作为结束标志的此处的分号不能省略因为结构体定义在程序中就是一条说明语句。 7.2.1 结构体的定义 在定义结构体时有以下几点说明 ①定义结构体类型只是说明该类结构体数据的组织形式在程序编译时系统不会给结构体类型分配空间只有定义了结构体变量系统为该结构体变量分配空间。 7.2.1 结构体的定义 ②结构体成员可以是任何基本数据类型的变量如int、char、float、double等也可以是数组、指针类型的变量。这些成员变量可以是同一类型也可以是不同类型。 7.2.1 结构体的定义 ③结构体类型可以嵌套定义即结构体成员也可以是结构体类型的变量。 7.2.2 结构体变量的定义 为了能够在程序中使用结构体类型必须定义结构体类型的变量定义结构体变量的方法主要有以下四种 ⑴先定义结构体类型再定义结构体变量。 7.2.2 结构体变量的定义 ⑵在定义结构类型的同时定义结构体变量。 ⑶直接说明结构体变量。 7.2.2 结构体变量的定义 ⑷先使用typedef定义结构体类型给结构体类型起别名再用别名定义结构体变量。 这样在定义结构体变量的时候就可以既使用新的类型studentinfo来定义变量又可以用struct student 来定义变量 7.2.2 结构体变量的定义 按照结构体类型的组成系统为定义的结构体变量分配内存单元。结构体变量的各个成员在内存中占用连续存储区域结构体变量所占内存大小为结构体中每个成员所占用内存的长度之和。以上定义的结构体变量各成员所占内存单元如表所示(以VC环境为例) 7.3 结构体变量的使用及初始化 7.3.1 结构体变量的使用 结构体作为一种新的数据类型在定义结构体变量之后可以像基本类型变量一样赋值、运算不同的是结构体变量不能整体引用只能引用它的成员变量。 7.3.1.1 结构体成员变量使用的一般方式 结构体变量名.成员名 birthday.year、birthday.month、birthday.day 7.3.1 结构体变量的使用 可以将一个结构体变量赋值给另一个结构体变量。 进行赋值的结构体变量必须是同一类型的结构体变量。如果stu1已经赋值则可以通过语句stu2stu1将stu1的值赋给同类型的结构体变量stu2。 7.3.1 结构体变量的使用 7.3.1 结构体变量的使用 7.3.1.2 嵌套结构体中成员变量的使用 对于嵌套的结构体如果要使用内部嵌套的结构体的成员变量则需要连续的使用“.”运算符。 使用内部结构体的成员变量month用“stu1.date.month”的形式。 7.3.1 结构体变量的使用 7.3.2 结构体变量的初始化 对应结构体变量的定义形式结构体变量初始化也有四种方法 初始表中数据的个数应和成员项一致各初值间用逗号隔开。按成员的先后顺序对应赋值如果初值个数少则将无初值对应的成员赋以0值。如果初值个数多则编译出错。有嵌套结构的结构体类型赋初值也一一对应。 7.4 结构体数组 7.4.1 结构体数组的定义 ⑴先定义结构体类型再定义结构体数组。 ⑵在定义结构类型的同时说明结构体数组。 7.4.1 结构体数组的定义 ⑶直接说明结构体数组。 ⑷使用typedef定义结构体类型再定义数组。 7.4.2 结构体数组的初始化 ⑴定义结构体类型时初始化结构体数组。 ⑵先定义结构体类型然后定义结构体数组并初始化。 7.4.3 结构体数组的使用 ⑴可以把一个数组元素赋予另一