资源预览内容
第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
第9页 / 共15页
第10页 / 共15页
亲,该文档总共15页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
学习目标理解结构体类型的作用。掌握结构体类型变量的定义、初始化和引用。C Programming Language如何存储一个班级中 5 名学生的信息(学号、姓名、性别和成绩)结构体类型方案一:使用多个数组问题:不能建立数组间的关系C Programming Language如何存储一个班级中 5 名学生的信息(学号、姓名、性别和成绩)结构体类型方案二:使用多维数组问题:C 语言不允许一个数组包含多种数据类型C Programming Language如何存储一个班级中 5 名学生的信息(学号、姓名、性别和成绩)结构体类型方案三:使用结构体numnamesexscoreC 语言引入了称为结构体的数据存储方式。“结构体” 是一种构造数据类型,它是由若干数据项组合而成的复杂数据对象,这些数据项称为结构体的成员。C Programming Language一、结构体类型的定义结构体类型定义的一般形式struct 结构体名类型标识符 成员名1;类型标识符 成员名2;类型标识符 成员名n; 关键词应符合标识符的命名规则,它是类型的标识符而不是变量名。各成员的数据类型,可以是任意一种C 语言中的有效数据类型结构体成员的名称,也应符合标识符的命名规则。struct student int num; char name20; char sex; float score;num name sexstudentscoreC Programming Language二、结构体类型变量的定义结构体的定义仅描述了一个结构体的形式。如果要在程序里使用结构体,需要声明结构体类型的变量。定义结构体类型的变量有以下3种方法:1.先定义结构体类型,再定义该类型的变量, 例如:struct student int num; char name20; char sex; float score;struct student stu1,stu2; C Programming Language2.在定义结构体类型的同时定义结构体变量,例如:struct student int num; char name20; char sex; float score;stu1,stu2;二、结构体类型变量的定义C Programming Language3.直接定义结构体变量,例如:struct int num; char name20; char sex; float score;stu1,stu2;说明:本方法中只是直接定义了两个结构体变量,省略了结构体类型名,因此程序中无法再使用它来定义该结构体类型的其他变量。二、结构体类型变量的定义C Programming Language 结构体类型不同于结构体变量,不能直接对结构体类型进行赋值、存取等操作。 结构体成员名可以与程序中的某一变量名相同,但二者并不代表同一存储单元。 结构体类型定义可以在函数的内部,也可以在函数的外部。在函数内部定义的结构体,其作用域仅限于该函数内部,而在函数外部定义的结构体,其作用域是从定义处开始到本文件结束。注意C Programming Language结构体类型变量的3种定义形式,均可在定义时初始化。初始化的一般形式为:struct 结构体名 结构体成员表列;结构体变量=初始数据表;用户在初始化的过程中,要注意并不是所有成员都必须赋初值,可以只初始化结构体变量的部分成员。初始化数据之间要用“,”隔开,不进行初始化的成员项也要用“,”跳过。需注意每个初始数据必须与其对应成员的数据类型相一致。三、结构体类型变量的初始化C Programming Language.【例1】对结构体变量进行初始化。#include main()struct studentint num;char name20;char sex;float score; stu=8001,zhang ping,m,78.5;printf(Number=%dnName=%sn,stu.num,stu.name);printf(Sex=%cnScore=%.2fn,stu.sex,stu.score);程序运行结果:Number=8001Name=zhang pingSex=mScore=78.50C Programming Language四、结构体类型变量的引用1.引用结构体变量中的一个成员。表示结构体成员的一般形式为: 结构体变量名.成员名其中”.”称为成员运算符,它的运算级别最高,和圆括号运算符“()”、下标运算符“”是相同级别的,结合方向为自左向右。C Programming Languagestruct date int month; int day; int year;struct int num; char name20; char sex; struct date birthday; float score;student1,student2;表示结构变量成员的一般形式是:结构变量名.成员名例如:student1.num、student2.sex、student1.birthday.month四、结构体类型变量的引用C Programming Language2.结构体变量作为整体来引用。两个相同类型的结构体变量之间可以直接相互赋值。C语言不允许用赋值语句将一组常量直接赋值给一个结构体变量。不能用一条语句整体读入结构体变量:四、结构体类型变量的引用下面的赋值语句是不合法的:stu2=8002,wang ping,m,89;下面的语句是不合法的:scanf(%d,%s,%c,%f,&stu1);小结(1)为什么要使用结构体。(2)结构体类型的定义。(3)结构体类型变量的定义初始化和引用。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号