C语言程序设计2第12章结构体、共用体和位运算

C语言程序设计2第12章结构体、共用体和位运算

ID:45034616

大小:401.84 KB

页数:38页

时间:2019-11-08

C语言程序设计2第12章结构体、共用体和位运算_第1页
C语言程序设计2第12章结构体、共用体和位运算_第2页
C语言程序设计2第12章结构体、共用体和位运算_第3页
C语言程序设计2第12章结构体、共用体和位运算_第4页
C语言程序设计2第12章结构体、共用体和位运算_第5页
资源描述:

《C语言程序设计2第12章结构体、共用体和位运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章结构体、共用体和位运算12.1结构变量12.2结构数组12.3结构指针变量12.4联合类型的定义和联合变量的说明12.5联合变量的赋值和使用12.6位运算符12.7链表退出12.1结构变量“结构”也叫做“结构体”,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型,还可以是数组、指针,甚至可以为另一个构造类型(此时,就组成了嵌套)。在说明和使用之前必须先定义结构,就像在说明和调用函数之前要先定义函数一样。12.1.1结构体的定义结构体有以下几种定义方法。1不带变量名的定义定义一个结构体的一般形式为:struct结构名{数据类型

2、成员名1;数据类型成员名2;数据类型成员名3;...数据类型成员名n;};成员名的命名应符合标识符的规定。成员名可与程序中其它变量同名,互不干扰。注意不要忘记成员名后面的逗号,也不要忘记结构结束时}后的逗号。2带变量名的定义另外一种定义为:struct结构名{数据类型成员名1;数据类型成员名2;数据类型成员名3;...数据类型成员名n;}变量名列表;【例12-1】(见课本)12.1.2结构类型变量的说明说明结构变量有以下几种方法。1先定义结构,再说明结构变量说明的格式为:存储类型struct结构名结构变量名1[,结构变量名2,...结构变量名

3、n];【例12-2】(见课本)2定义结构类型并说明结构变量如上所说,采用第二种格式,可以在定义结构类型的同时说明结构变量。12.1.3结构变量成员的表示方法在程序中使用结构变量时,往往使用它的单个成员,而不使用整个结构。成员可以在程序中单独使用,与普通变量完全相同。表示结构变量成员的一般形式是:结构变量名.成员名例如:jilu1.bianhao/*记录1的编号*/jilu2.xingbie/*记录2的性别*/这有点像数据库中的字段。12.1.4结构变量的赋值结构变量的赋值就是给各成员赋值。可用输入语句或赋值语句来完成。【例12-3】(见课本)

4、12.1.5结构变量的初始化如果结构变量是全局变量或为静态变量,则可对它作初始化赋值。对局部或自动结构变量不能作初始化赋值。【例12-4】(见课本)【例12-5】(见课本)12.2结构数组12.2.1结构数组概述我们知道,具有相同数据类型的变量可以组成数组。同样,具有相同结构的结构变量我们知道,具有相同数据类型的变量可以组成数组。同样,具有相同结构的结构变量也可以组成数组。这样组成的数组叫做“结构数组”。结构数组的每一个元素都是具有相同结构类型的结构变量。结构数组的定义方法和结构变量相似,只需说明它为数组类型即可。说明格式如下:[存储类型]s

5、truct结构名结构数组名[元素个数];例如:structrecordjilu[3];也可以在定义时说明,如下例所示。【例12-6】(见课本)12.2.2结构数组的初始化对外部结构数组或静态结构数组可以作初始化赋值,例如:【例12-7】(见课本)当对全部元素作初始化赋值时,也可不给出数组长度。请看下例。【例12-8】(见课本)12.3结构指针变量12.3.1结构指针变量概述当把一个指针变量指向一个结构变量时,这个指针变量就成为了结构指针变量。结构指针变量指向结构变量的首地址。通过结构指针即可访问该结构变量,这与数组指针和函数指针的情况相同。结

6、构指针变量说明的一般形式为:struct结构名*结构指针变量名例如:structrecord*pstu;也可在定义stu结构时同时说明pstu。结构指针变量也必须要先赋值后才能使用。赋值是把结构变量的首地址赋予该指针变量,不能把结构名赋予该指针变量。结合上述例子,可以如下赋值:pstu=&jilu而如下赋值是错误的:pstu=&record结构名与结构变量的区别是:结构名只表示一个结构形式,编译系统并不对它分配内存空间。而变量分配存储空间。因此上面&record是错误的,不可能去取一个结构名的首地址。12.3.2结构变量的使用有了结构指针变量

7、,就能更方便地访问结构变量的各个成员。其访问的一般形式为:(*结构指针变量).成员名或为:结构指针变量->成员名例如:(*pstu).bianhao或者:pstu->bianhao应该注意(*pstu)两侧的括号不可少,因为成员符“.”的优先级高于“*”。以下三种用于表示结构成员的形式是完全等效:结构变量.成员名(*结构指针变量).成员名结构指针变量->成员名【例12-9】(见课本)【例12-10】(见课本)12.4联合类型的定义和联合变量的说明“联合体”也叫做“联合”,它也是一种由不同类型数据组成的复合数据类型。在一个“联合”内可以定义多种

8、不同的数据类型,一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据。这在前面的各种数据类型中都是办不到的。例如,定义为整型的变量只能装入整型

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。