- 1、本文档共99页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言与程序设第8章结构体与共用体
101 head 103 p1 NULL 107 100 p0 101 head 103 p1 109 p0 NULL 103 struct student *insert(struct student *head, struct student *stud) {struct student *p0,*p1,*p2; p1=head; p0=stud; If(head==NULL) {head=p0;p0.next=NULL;} else {while(p0.nump1.num)(p1.next!=NULL)) { p2=p1; p1=p1.next; } if(p0.num=p1.num) { if(head==p1) head=p0; else p2.next=p0; p0.next=p1; } else { p1.next=p0; p0.next=NULL; }} n=n+1; return(head);} 对链表的综合操作 把建立、输出、删除、插入的函数组织在同一个C程序中。(略) 作业: 习题: 1、3、5 const类型定义:指明变量或对象的值是不能被更新,引入目的是为了取代预编译指令 **************常量必须被初始化*************************cons的作用???(1)可以定义const常量?????????例如:?????????????const?int?Max=100;?????????????int?Array[Max];???????????(2)便于进行类型检查????????????例如:?????????????void?f(const?int?i)?{?.........}????????编译器就会知道i是一个常量,不允许修改;???(3)可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。????????还是上面的例子,如果在函数体内修改了i,编译器就会报错;????????例如:??????????????void?f(const?int?i)?{?i=10;//error!?} -和. 都是一级。注意第2种形式:不加括号意味被指针变量所指成员的值。 注意 - 在附录中是:指向结构体成员运算符。 #includestdio.h struct student { int num; char name[20]; char sex; int age; }; struct student stu[3]={{10101,Li Lin,M,18} ,{10102,Zhang fun,M,19} ,{10104,Wang Min,F,20}}; void main() { int i; struct student *p; printf( No. Name Sex Age\n); for(p=stu;pstu+3;p++) printf(%5d %-20s %2c %4d\n,p-num,p-name,p-sex,p-age); printf(%\n); p=(struct student * )stu[0].name; for(i=0;i20;i++,p++) *****此时,p仍然是指向结构体的指针变量(即结构体类型的指针变量),p+1后,会指向下一个元素的name的首地址. printf(%c,*p); printf(%\n); } 用结构体变量作函数实参是把整个结构体变量(连同各个成员的值)——而不是把变量的首地址——传递到形参中,而形参是另一个局部变量,在内存中与实参占据不同的单元. 不能使用p++,只能使用:p=p-next; 因为a,b,c是三个独立的变量,不是连续的单元。 ANSI标准中专门增加的一个类型——void指针类型。见P277页10.8.3节。 无返回值,所以没有*。 sizeof是长度运算符。数据类型长度运算符( sizeof )是一个单目运算符,其运算对象可以是任何数据类型说明符或表达式。它的功能是返回给定类型的运算对象所占内存字节的个数。其引用的格式为: sizeof( 类型说明符、数组名或表达式 )或sizeof 变量名。只能连接一个运算对象。如果运算对象是一个表达式(如常量、变量、数组名、结构体变量、共用体变量等),则 sizeof() 不会对表达式求值,只给出该表达式所占用的字节数;如果运算对象是一个类型说明符(如 char 、 i
您可能关注的文档
- CA6140车床后托加工工艺及夹具设计.doc
- CA6140车床拨叉机械加工工艺规程工艺装备设计.doc
- CA6140车床拨叉零件的 机械工规程及左端面专用夹具设计.doc
- C616普通车数控化改造.doc
- C++程设计课程设计指导书.doc
- CA6140车床拨叉加工工艺及钻Φ20孔的夹具设计说明书.doc
- CAD术在机械设计中的作用.doc
- CA6140机床后托架加工艺及夹具设计.doc
- CADCAM技术二维图形线绘制.ppt
- CAD习考勤机.doc
- 南京市第十三中学2024-2025学年高二上学期10月期中英语试题及答案.docx
- 江阴市四校2023-2024学年高二上学期期中联考语文试题(原卷版).docx
- 南京市第十三中学2024-2025学年高二上学期期中考试数学试题及答案.docx
- 江阴市四校联考2023-2024学年高二11月期中生物试题(原卷版).docx
- 南京市第十三中学2024-2025学年高二上学期10月期中生物试题(含答案).docx
- 苏州市2024-2025学年高一上学期期中调研数学试卷.pdf
- 南京市2024-2025学年高二上学期11月期中考试+化学试题(无答案).docx
- 江阴市四校联考2023-2024学年高二上学期11月期中化学试题(原卷版).docx
- 物理奥数竞赛题.pdf
- 第九届高校廉洁教育系列活动课堂实践案例遴选名单.docx
文档评论(0)