书签 分享 收藏 举报 版权申诉 / 15
上传文档赚钱

类型第9讲-结构体指针结构体与函数课件.ppt

  • 上传人(卖家):ziliao2023
  • 文档编号:5874591
  • 上传时间:2023-05-13
  • 格式:PPT
  • 页数:15
  • 大小:343.51KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第9讲-结构体指针结构体与函数课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    结构 指针 函数 课件
    资源描述:

    1、1第9讲 结构体与指针、函数本讲内容:本讲内容:(1)结构体类型的指针变量结构体类型的指针变量(2)结构体与函数结构体与函数27.4.1 指向结构体变量的指针1.定义定义struct student char name20;int age;int s1,s2;stu=Mary,19,78,86;struct student *p;p=&stu;struct 结构体名结构体名*结构体变量名结构体变量名Mary197886stu2010203020342038p2010结构体的地址为结构体结构体的地址为结构体第一个成员的地址。第一个成员的地址。p=&stu.name;是否可以?是否可以?不可以,类

    2、型不匹配。不可以,类型不匹配。p=(struct student*)&stu.name;改为:改为:37.4.1 指向结构体变量的指针2.成员的引用格式成员的引用格式(1)结构体变量名结构体变量名.成员名成员名 stu.age(2)(*指针变量名指针变量名).成员名成员名 (*p).age(3)指针变量名指针变量名-成员名成员名 p-age指向运算符指向运算符p-age+分析:分析:+p-age等价于等价于(p-age)+等价于等价于+(p-age)不等于不等于(+p)-agep-age类型?类型?不是指针类型不是指针类型struct student char name20;int age;i

    3、nt s1,s2;struct student stu,*p;p=&stu;gets(stu.name);(*p).age=21;p-s1=87;p-s2=90;41.定义定义 struct student a3,*p;7.4.2 指向结构体数组的指针2.使用使用for(p=a;pname);scanf(%d%d%d,&p-age,&p-s1,&p-s2);赋初值为数组名赋初值为数组名p+表示使指针指向表示使指针指向下一个下一个结构体,而结构体,而不是下一个成员不是下一个成员Mary217886Alex209080Mike197568st0st1st2ppp57.4.2 指向结构体数组的指针思

    4、考:思考:1.(+p)-age先使先使p加加1,然后的到,然后的到p-age的值的值先得到先得到p-age的值,然后使的值,然后使p加加12.(p+)-age3.+p-age4.p-age+先使先使p-age,然后的到,然后的到p-age的值的值先得到先得到p-age的值,然后使的值,然后使p-age加加161.函数实参和形参都用结构体变量函数实参和形参都用结构体变量,参数之间为参数之间为值传递值传递 实参结构体变量实参结构体变量各成员的值依次传给各成员的值依次传给形参结构体变量形参结构体变量7.5.1 结构体变量作为函数参数 struct student char name20;int ag

    5、e;int s1,s2;void main()struct student stu=Alex,22,98,100;aaa(stu);printf(%d,stu.age);void aaa(struct student sss)sss.age=33;nameages1s2Alex2298100nameages1s2stusssAlex22981003377.5.1 结构体变量作为函数参数例例1 输入任意日期,计算该天是本年中第几天。使用函数计算输入任意日期,计算该天是本年中第几天。使用函数计算天数。天数。分析:分析:1.日期如何表示日期如何表示?定义日期结构体。定义日期结构体。struct da

    6、te int year;int month;int day;2.函数如何设计函数如何设计?函数形参(输入):函数形参(输入):日期结构体变量日期结构体变量函数返回值(输出):函数返回值(输出):天数天数int fun(struct date d)函数原形:函数原形:87.5.1 结构体变量作为函数参数3.如何计算如何计算?如如 1999.2.1231 +12如如 1999.3.1331+28+13 如如 2000.3.1331+29+13 天数天数=前几个月份天数之和前几个月份天数之和+当月第几天当月第几天考虑闰年考虑闰年如何计算前几个月天数之和?如何计算前几个月天数之和?for(i=1;id

    7、.month;i+)switch(i)case 1:case 3:case 5:case 7:case 8:case 10:case 12:t=31;break;case 4:case 6:case 9:case 11:t=30;break;case 2:if(d.year%4=0&d.year%100!=0|d.year%400=0)t=29;else t=28;days=days+t;97.5.1 结构体变量作为函数参数int fun(struct date d)int days=0,i,t;for(i=1;iage=33;Alex2298100stup100010201024102833

    8、sss1000100012例例2 按成绩对学生信息进行从高到底的排序按成绩对学生信息进行从高到底的排序#include#define N 30struct stud int n;char name10;int s;7.5.2 结构体指针作为函数参数void sort(struct stud *p)int i,j;struct stud temp;for(i=0;iN-1;i+)for(j=i+1;js s)temp=*(p+i);*(p+i)=*(p+j);*(p+j)=temp;注意进行比较的是元素注意进行比较的是元素sti和和stj的的成绩成员成绩成员s,但但进行进行交换的是元素交换的是元

    9、素sti和和stj13void main()int i;struct stud stN;for(i=0;iN;i+)scanf(%d%s%d,&sti.n,sti.name,&sti.s);sort(st);for(i=0;iN;i+)printf(%4d%10s%4d,sti.n,sti.name,sti.s);7.5.2 结构体指针作为函数参数/传递的结构体数组名传递的结构体数组名147.5.3 函数返回值为结构体类型格式:格式:结构体类型结构体类型 函数名(形参表)函数名(形参表)函数体;函数体;例例3 编写函数输入结构体变量,在主函数中输编写函数输入结构体变量,在主函数中输出出 struct student int num;char name20;float score;struct student input()struct student b;scanf(%d%s%f,&b.num,b.name,&b.score);return b;void main()struct student stu;stu=input();printf(%d,%s,%5.2fn,stu.num,stu.name,stu.score);15实验实验:实验:P99 实验实验1(3)

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第9讲-结构体指针结构体与函数课件.ppt
    链接地址:https://www.163wenku.com/p-5874591.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库