C语言第8讲-结构体n课件.ppt

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

第八讲 -结构体与共用体;结构体与共用体;一、结 构 体;如: struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; };;(2) 定义结构类型的同时定义结构变量;定义的一般形式:;(1) 类型与变量是不同的概念 ;4.结构体类型变量的引用;6. 结构体数 组;例:三个候选人,每次输入一个得票的候选人的名字, 最后输出各人得票结果;3;7. 指 向 结 构 体 类 型 数 据 的 指 针;(1) 指向结构体变量的指针;① p-n: 得到 p指向的结构体变量中的成员 n的值;例: struct student { int num; char name[20]; char sex; int age; }; struct student stu[3] = {{10101, LiLin, M, 18}, {10102, ZhangFun, M, 19}, {10104, Wang Min, F, 20}};;② P=stu; 指向stu[0];①. 若 p 的初值为 stu ,即指向第一个元素,则 p+1指 向 下一个元素的起始地址。;例:有一个结构体变量stu,内含学生学号、姓名和三门课的成绩。 要求在main函数中赋以值,在另一函数print中将它们输出。;void print(p) struct studnt *p; { printf (format, p-num, p-name, p-score[0], p-score[1], p-score[2]); printf (\n); }; 其中 main 函数中最后一行调用 print 函数 ,也可改用print (stu); 即实参改用结构体变量(而不是指针)。;struct stu {int x; int *y; }*p; int s1[4]={10,20,30,40}; struct stu a[4]={50,s1[0],60,s1[1],70,s1[2],80,s1[3]}; main() {p=a; printf(%d ,++p-x); printf(%d ,(++p)-x); printf(%d ,++(p-x)); printf(%d ,++(*p-y)); printf(%d ,*++p-y);}; 用指针处理链表 ;3、free(ptr):释放由ptr指向的内存区。;链表结构的要点: 1、对链表的操作:建立链表、输出链表、链结点的插入、删除、修改等操作 2、创建新结点时,即:链表的新建、链表的插入。必须为链指针开辟存储空间: p1=(struct 结构体名 *)malloc (sizeof(struct 结构体名)); 3、对链表的操作以函数完成时,常创建一个带头节点的函数。 4、结点中成员的访问。 5、链指针的移动和尾指针为空。;89101 89.5 ;struct stu *creat( ) {struct stu *head, *p1, *p2; n = 0 ; p1=p2=(struct student *)malloc(sizeof(struct stu); scanf (%d, %f, p1-num, p1-sco); head = NULL; ;while(p1-num! = 0) { n++; if(n == 1) head = p1; else p2-next = p1; p2 = p1; p1=(struct stu *)malloc(sizeof(struct stu)); scanf (%ld,%f, p1-num, p1-score); } p2-next = NULL; return (head); };void print (head) struct student *head; {struct student *p; printf (\nNow, These %

文档评论(0)

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

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

1亿VIP精品文档

相关文档