电大C语言程序设计第7章结构和联合.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电大C语言程序设计第7章结构和联合

第7章 结构和联合 (一) 教学内容 1. 结构的基本概念 2. 结构的定义与初始化 3. 结构成员的访问和结构变量的赋值 4. 结构与数组 5. 结构与函数 6. 结构与链表 7.联合的定义与使用 第7章 结构和联合 (二) 教学要求 了解:结构和联合的有关概念; 理解:结构和联合的定义格式,结构和联合成员的访问,结构作为函数参数的应用,结构作为链表中结点类型的应用; 应用:会分析和编写使用结构的函数或程序 第7章 结构和联合 7.1 结构的定义 1. 结构的引入 结构的概念:结构是用户自定义的数据类型,在一个组合项中包含若干个类型不同的数据项的数据结构。 例:定义一个职工Employee结构数据类型,它包括姓名,职工编号,工资,地址,电话。 struct Employee  {    char name[20];    long code;    float salary;    char address[50];    char phone[11];  }; //分号是必需的  第7章 结构和联合 7.1 结构的定义 2. 结构的定义格式 格式: struct 结构类型名  { 成员定义1;  成员定义2;  ……  成员定义n ;  }; 第7章 结构和联合 7.1 结构的定义 2. 结构的定义格式 此类型一旦被定义后,可与int、float等基本数据类型同等看待。例如可用Employee类型定义结构变量。  定义一个结构类型并不分配内存,定义一个结构变量时才分配内存。  第7章 结构和联合 7.1 结构的定义 3. 定义格式举例 struct A{ int a,b,c; }; struct B{ char ch; int x,y; double z; }; struct C{ char * cp; int a[5]; }; 第7章 结构和联合 7.1 结构的定义 3. 定义格式举例 struct D{ int * a; int * ap; int maxsize; }; struct E{ int d,* e; struct B b; }; struct F{ double data; struct F * next; }; 第7章 结构和联合 7.1 结构的定义 4. 结构定义说明 (1)若在定义结构AA时需要结构BB,而定义结构BB时又需要AA,方法是先给出一个结构的不完整定义。 struct BB; struct AA{ char a; struct BB * b; }; struct BB{ int b; struct AA a; }; 第7章 结构和联合 7.1 结构的定义 4. 结构定义说明 (2)一种结构类型的长度等于其所包含的每个数据成员长度之和。如上例中A,B,C,D,E,F的长度分别为12,17,24,12,25,12。 (3)使用结构类型定义对象时,保留字struct不能省略,为简便起见可通过typedef语句定义结构类型的别名,从而省略了保留字struct 。如: typedef struct Person Person; Person a={“xxk”,’m’,52,5230}; 第7章 结构和联合 7.2 结构变量的定义和初始化 结构变量定义方法有三种。 1. 先定义结构类型,再定义变量 struct 结构类型名 { 成员定义1;  成员定义2;  ……  成员定义n;  }; 结构类型名 变量名列表;  第7章 结构和联合 7.2 结构变量的定义和初始化 结构变量定义方法有三种。 1. 先定义结构类型,再定义变量 struct Arith { char op; int a,b; }; int xx=40; (1)struct Arith x,y; (2)struct Arith z1={+,10,xx},z2={*,60},z3=z1; (3)struct Arith *d=z1; (4)struct Arith a[4]={{+,3,7},{-,10,5},{*,6,4}, {/,8,5}}; (5)struct Arith *b[ ]={z1,z2,a+2,a[3]}; 第7章 结构和联合 7.2 结构变量的定义和初始化 1. 先定义结构类型,再定义变量 通过malloc()等函数创建一个动态结构变量或结构数组后返回的同样是对应的存储空间的首地址,把这个首地址赋给一个结构指针后,就可以利用这个指针访问所指向的动态结构变量或数组。例如: struct A

文档评论(0)

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

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

1亿VIP精品文档

相关文档