《结构体与指针》PPT课件

《结构体与指针》PPT课件

ID:41284165

大小:2.49 MB

页数:49页

时间:2019-08-21

《结构体与指针》PPT课件_第1页
《结构体与指针》PPT课件_第2页
《结构体与指针》PPT课件_第3页
《结构体与指针》PPT课件_第4页
《结构体与指针》PPT课件_第5页
资源描述:

《《结构体与指针》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、复习:(1)结构体变量的定义与引用(2)结构体数组新内容:(1)指向结构体变量的指针(2)指向结构体数组的指针(3)结构体指针作为函数参数(4)用指针处理链表第7讲结构体与指针1复习:结构体变量的定义与引用注意不要忘了分号成员列表结构体类型定义形式:struct结构体类型名{数据类型成员名1;数据类型成员名2;::数据类型成员名n;};关键字用户定义的标识符22.定义结构体类型同时定义变量structstudent{charname[10];intage;ints1,s2;}st1,st2;1.先定义结构体类型,再定义变量structstudent{ch

2、arname[10];intage;ints1,s2;};structstudentst1,st2;复习:结构体变量的定义与引用结构体变量的定义结构体类型定义结构体变量定义结构体变量占用的字节数可用sizeof运算符算出printf(“%d”,sizeof(structstudent));printf(“%d”,sizeof(st1));3复习:结构体变量的定义与引用例:structdate{intyear;intmonth;intday;};structstud{charname[10];structdatebirthday;ints1,s2;

3、};结构体类型可以嵌套定义或:structstud{charname[10];structdate{intyear;intmonth;intday;}birthday;ints1,s2;};4复习:结构体变量的定义与引用应用typedef定义结构体类型structstudent{charname[10];intage;ints1,s2;};structstudentst1,st2;typedefstructstudent{charname[10];intage;ints1,s2;}SD;SDst1,st2;优点:书写简单,使程序具有更好的移植性5复习:结

4、构体变量的定义与引用引用结构体变量中的成员(点记法)格式:结构体变量名.成员名structstudent{charname[10];intage;ints1,s2;}st1,st2;strcpy(st1.name,“Mary”);st1.age=21;scanf(“%d%d”,&st1.s1,&st1.s2);相同类型的结构体变量可以进行整体赋值只能对结构体变量的成员进行输入和输出st2=st1;611.6.1指向结构体数据的指针定义指向结构体变量的指针typedefstructstudent{charname[20];intage;ints1,s2;}

5、SD;SDx,stu,*p;p=&stu;成员的引用格式(1)结构体变量名.成员名stu.name例:scanf(“%s”,x.name);scanf(“%d”,&x.age);x.s1=89;x.s2=78;gets(stu.name);(*p).age=21;scanf(“%d”,&p->s1);p->s2=90;(2)(*指针变量名).成员名(*p).age(3)指针变量名->成员名p->s17赋值语句p=&student;指针变量p指向结构体变量student引用结构体中的成员变量:(*p).成员名或p->成员名相当于student.成员名pst

6、udent8说明:和成员运算符一样,“->”为指向运算符,是运算优先级最高的运算符。由于成员运算符“.”的运算优先级高于运算符“*”,因此(*p).成员名中()不能少。*p.成员名p=&student.score;不能用指向某个结构体变量的指针指向该结构体变量的某个成员。9对结构体数组及其元素可以用指针来指向例如:structstruct_name{charname[10];intnum;floatscore;};/*定义结构体类型标识符*/structstruct_namestd[30],*p;11.6.1指向结构体数组的指针10900390赵明879

7、002王建899001李红结构体数组stdstd[0]std[1]std[2]p赋值语句p=std;/*p指向一个结构体数组std*//*指针变量p存放的是数组std的首地址*/引用:p->name;p->num;p->score;11赵明909003879002王建899001李红结构体数组stdstd[0]std[1]std[2]思考:赋值语句p=std+1;和p++;分别代表指针p指向哪里?p->name;p->num;p->score;代表的信息发生了什么变化?pp12注意:以下赋值语句都是错误的:p=&std[1].score;(不能指向数组元

8、素的成员变量)p=&std;(数组名本身就代表该数组的首地址,因此不能使用地址运

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。