C语言与程序设第8章结构体与共用体 .ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

130****9768 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档