欢迎来到天天文库
浏览记录
ID:37475009
大小:643.31 KB
页数:61页
时间:2019-05-12
《用户自定义数据类型1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章用户自定义数据类型10.1结构体类型概述10.2结构体变量的使用10.3共用体类型10.4使用枚举类型10.5用typedef声明新类型名数据类型C语言允许使用的数据类型:基本类型枚举类型空类型派生类型指针类型数组类型结构体类型共用体类型函数类型算术类型10.1结构体类型概述用户自己建立由多种类型数据组成的组合型的数据类型,它称为结构体类型例如,学生的学号、姓名、性别、年龄、成绩、家庭地址等项,是属于同一个学生的,因此组成一个组合数据类型10.1结构体类型概述structStudent{intnum;charname[20];charsex;inta
2、ge;floatscore;charaddr[30];};由程序设计者指定了一个结构体类型structStudent它包括num,name,sex,age,score,addr等不同类型的成员10.1结构体类型概述声明一个结构体类型的一般形式为:struct结构体名{成员表列};类型名成员名;10.1结构体类型概述说明:(1)结构体类型并非只有一种,而是可以设计出许多种结构体类型,例如structTeacherstructWorkerstructDate等结构体类型各自包含不同的成员10.1结构体类型概述说明:(2)成员可以属于另一个结构体类型。struct
3、Date{intmonth;intday;intyear;};structStu{intnum;charname[20];charsex;intage;structDatebirthday;charaddr[30];};10.1结构体类型概述说明:(2)成员可以属于另一个结构体类型。numnamesexagebirthdayaddrmonthdayyear10.2结构体类型变量的使用前面只是建立了一个结构体类型,它相当于一个模型,并没有定义变量,其中并无具体数据,系统对之也不分配存储单元。相当于设计好了图纸,但并未建成具体的房屋。为了能在程序中使用结构体类型
4、的数据,应当定义结构体类型的变量,并在其中存放具体的数据。10.2结构体类型变量的使用1.先声明结构体类型,再定义该类型变量声明结构体类型structStudent,可以用它来定义变量structStudentstudent1,student2;结构体类型名结构体变量名10.2结构体类型变量的使用1.先声明结构体类型,再定义该类型变量声明结构体类型structStudent,可以用它来定义变量structStudentstudent1,student2;structStudent{intnum;charname[20];charsex;intage;floa
5、tscore;charaddr[30];};10001ZhangXinM1990.5Shanghaistudent110002WangLiF2098Beijingstudent210.2结构体类型变量的使用2.在声明类型的同时定义变量structStudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}student1,student2;10.2结构体类型变量的使用3.不指定类型名而直接定义结构体类型变量其一般形式为:struct{成员表列}变量名表列;指定了一个无名的结构体类型。
6、结构体变量的引用(1)结构体类型与结构体变量是不同的概念,不要混同。只能对变量赋值、存取或运算,而不能对一个类型赋值、存取或运算。在编译时,对类型是不分配空间的,只对变量分配空间。结构体变量的引用(2)结构体类型中的成员名可以与程序中的变量名相同,但二者不代表同一对象。(3)不能对一个结构体变量作为一个整体进行输入和输出(4)可以通过赋值运算符将一个结构体变量整体赋给另一个变量。(5)使用成员运算符,来读写结构体变量的值(6)如果成员本身又属一个结构体类型,则要用成员运算符,一级一级找到最低的成员(7)对成员变量可以像普通变量一样做各种运算(8)可以引用成员
7、的地址,也可以引用结构体变量的地址structStudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];}student1,student2;student1.num=1001;student.sex='F';例10.1把一个学生的信息(包括学号、姓名、性别、住址)放在一个结构体变量中,然后输出这个学生的信息。解题思路:自己建立一个结构体类型,包括有关学生信息的各成员用它定义结构体变量,同时赋以初值输出该结构体变量的各成员#includeintmain(){stru
8、ctStudent{longintnum;charn
此文档下载收益归作者所有