Lesson10(结构体)ppt.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Lesson10(结构体)ppt

例: 描述一个学生的姓名、学号、性别、年龄。 每个学生都有这样的属性,它们构成一个描述学生具体情况的一个整体。而每个属性又是一个基本的类型,本例中可分别用字符数组、长整型、字符型、和整型来描述。 定义结构体类型,描述下列数据 struct student int no; /*学号*/ char name[10]; /*姓名*/ char sex; /*性别*/ int age; /*年龄*/ float score[10]; /*成绩*/ ; 例:定义结构体变量stu1: struct student stu1; stu1.age 20; scanf %f, stu1.score ; stu1.age 表示引用结构体变量stu1中的age成员,因该成员的类型为int型,所以可以对它执行任何int型变量可以执行的运算,也即像普通变量一样进行各种运算. 与结构体变量定义类似,只是结构体变量名为结构体数组,如: struct student stu[3]; 数组各元素在内存中连续存放 通过下面的示例说明结构体数组的使用方法 [例9-3 P255 ] 候选人得票的统计。设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。 main int i, j; char leader_name[20]; for i 1;i 10;i++ scanf %s,leader_name ; for j 0; j 3; j++ if strcmp leader_name, leader[j].name 0 leader[j].count++; printf \n ; for i 0;i 3;i++ printf %5s:%d\n,leader[i].name,leader[i].count ; 一个结构体变量的指针就是该变量所占据的内存段的起始地址。可以定义一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。 例如: struct student *pstu, stu; pstu stu; 定义了一个指针变量pstu,并使指针指向结构体变量stu。 *pstu 表示指针pstu所指向的结构体变量(对象)stu,因而,其成员表示为(*pstu .name , *pstu .age。 main struct student long num; char sex; float score; stu_1,*p; p stu_1; stu_1.num 200301; stu_1.sex M; stu_1.score 89.5; printf No.:%ld\nsex:%c\nscore:%f\n, stu_1.num, stu_1.sex, stu_1.score ; printf \nNo.:%ld\nsex:%c\nscore:%f\n, *p .num, *p .name, *p .sex, *p .score ; printf \nNo.:%ld\nsex:%c\nscore:%f\n, p- num,p- name,p- sex,p- .score ; 补充: 结构体数据类型的C表示法 实例:用单链表结构来存放26个英文字母组成的线性表(a,b,c,…,z),请写出C语言程序。 将全局变量及函数提前说明: void build //字母链表的生成,要一个个慢慢链入 void display /*字母链表的输出*/ 单链表的插入: 单链表的删除: 作业: #include #include struct node char data; struct node *next; ; struct node *p,*q,*head; //一般需要3个指针变量 int n ; // 数据元素的个数 int m sizeof struct node ; /*结构类型定义好之后, 每个变量的长度就固定了,m求一次即可*/ 新手特别容易忘记!! int i; head struct node* malloc m ; //m sizeof Node 前面已求出 p head; for i 1; i 26; i++ //因尾结点要特殊处理,故i≠26 p- data i+‘a’-1; // 第一个结点值为字符a p- next struct node* malloc m ; //为后继结点“挖坑”! p p- next; //让指针变量P指向后一个结点 p- data i+‘a’-1; //最后一个元素要单独处理 p- next NULL ; //单链表尾结点

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档