- 1、本文档共52页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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 %
您可能关注的文档
最近下载
- 2019年云南省中考生物试卷.docx VIP
- 济宁普悦环保科技有限公司年产150万m2MBR膜及设备生产项目环境影响报告表.doc VIP
- 牙隐裂诊治及病例分析.pptx VIP
- 国开-组织行为学-004-机考考前复习资料.docx
- 2025年云南省西双版纳州中考模拟生物试题.docx VIP
- QB 1890-1993自行车 脚闸.pdf
- (高清版)DB3301∕T 0369-2022 城市园林树木支撑技术规范 .pdf VIP
- JJF(石化) 015-2018 实验用平板硫化机校准规范.pdf
- 数据库程序设计知到智慧树期末考试答案题库2024年秋外交学院.docx VIP
- 2024证券从业人员资格考试真题含答案.docx VIP
文档评论(0)