谭浩强高等教育出版社第3版_第7章用户定制数据类型详解.ppt

谭浩强高等教育出版社第3版_第7章用户定制数据类型详解.ppt

  1. 1、本文档共136页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 用户定制数据类型;C语言中常见的数据类型;如上的定义中,age、score、c都是简单变量,彼此之间没有内在的联系,定义的数组,虽然有多个元素,但各元素的数据类型却是同一类型;这些变量没有从属关系。 在现实生活中,处理实际问题时,常常需要将若干个不同类型的数据作为一个整体来处理,这些数据彼此之间有一定的内在联系,如:学生档案中的学生信息,每一个学生的信息项目需要反映若干项。如:学号、姓名、性别、年龄、成绩等。 虽然各数据项类型不同,但反映的信息都是同一个人的,属于一个整体,彼此之间有一定的内在联系,在数据处理的场合,往往当作一个整体来处理。; struct student { }; ;标准数据类型:int、char、float、double等。 定制数据类型:在一定的框架范围内定制。声明了类型之后,可以像使用标准数据类型一样使???它们来定义需要的变量。 5种类型框架: · 结构体(struct):也称集合数据类型,用于将不同类型的数据组织在一个名字下。 · 位域(bit field):结构体的一种变形,允许方便地访问字(word)中的位(bit)。 · 共用体(union):允许一个存储空间中存储不同类型的变量。 · 枚举(enumeration):用一组符号代替一组整数。 · typedef:用于为已经存在的类型定义新名字。 ;第一节 结构体类型基础 一、结构体类型及其定制 1、结构体 结构体:由若干个不同类型的数据项构成的一个整体,其中的每一个数据项称为结构体的成员,又称为域、字段。用于处理一组不同类型数据的类型。 属于构造类型数据,由基本类型的数据按一定的规律构成的。 根据实际需要,一般应先定义结构体类型,再用该类型定义变量,再使用。;定义一个通讯地址表结构体:;定义一个成绩表结构体,该结构中包含班级、学号、姓名、 语文成绩、数学成绩、英语成绩。;二、定义结构体类型变量及初始化;(2)在定义类型的同时定义变量;(3)直接定义变量;2、结构体变量的初始化;关于结构体的几点说明:;(3)在C语言中,结构体类型是自定义类型;三、结构体变量的操作;#include stdio.h struct student { long num; char name[20]; float score; }; main() { struct student s; printf(请输入学号:); scanf(%ld,s.num); printf(请输入姓名:); scanf(%s,s.name); printf(请输入成绩:); scanf(%f,s.score); printf(学号:%ld\n姓名:%s\n成绩:%.2f\n, s.num,s.name, s.score); };总结:结构体变量不能整体输入输出,只能逐个成员输入输出。;2. 结构体变量间的赋值(整体赋值) 可以将一个结构体变量作为一个整体赋给另外一个具有相同类型的结构体变量。 struct student s1={3399011,zhangsong,20,m,89}; struct student s2; ;3、结构体变量存储空间大小。 分配连续的一片存储单元。 用sizeof运算符测出一个结构体类型数据的长度 (即各成员所占字节之和);假设有一个简单的结构体类型:;四、嵌套结构体类型 在声明一个结构体类型时可以利用已声明了的另一个结构体类型来定义其成员的类型。这称为嵌套结构体类型。 ;struct date { int year; int month; int day; }; struct student { char name[20]; char sex; struct date birthday; float sc[4]; };;struct student { char name[20]; char sex; struct { int year; int month; int day; } birthday; float sc[4]; };;嵌套结构体类型定义了变量后,对结构体变量成员的操作,应采用逐级访问的方式进行。 例如: s.birthday.year 内嵌结构体成员可整体赋值 ;五、位段 1. 位段及其定义 在计算机中,位(bit)是信息表示和存储的最小单位,即一位二进制数,每8个位组织成一个字节(byte)。数据类型的长度一般都是字节的整数倍。 一位取的值为:0、1,表示一个开、关或是、否的状态。 在某些情况下,在位一

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档