欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c语言结构体与共同体.ppt

    • 资源ID:71466660       资源大小:180.50KB        全文页数:39页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c语言结构体与共同体.ppt

    第八章第八章 结构体与共用体结构体与共用体【教学要求教学要求】1 1理解结构体的含义。理解结构体的含义。2 2掌握结构体类型变量的定义方法。掌握结构体类型变量的定义方法。3 3掌握结构体类型变量的引用方法。掌握结构体类型变量的引用方法。4 4掌握结构体类型变量如何在定义的同时初始化。掌握结构体类型变量如何在定义的同时初始化。5 5理解共同体的含义,掌握共同体类型变量的定义方法。理解共同体的含义,掌握共同体类型变量的定义方法。6.6.了解结构体数组的定义和数组元素的引用。了解结构体数组的定义和数组元素的引用。7 7了解指向结构体类型数据的指针的概念及使用。了解指向结构体类型数据的指针的概念及使用。8 8了解链表结点的结构形式,链表的基本操作。了解链表结点的结构形式,链表的基本操作。9 9了解枚举类型的定义,及枚举类型的输入输出。了解枚举类型的定义,及枚举类型的输入输出。1010了解了解TYPEDEFTYPEDEF的作用。的作用。第八章第八章 结构体与共用体结构体与共用体1.1.结构体结构体(structstruct)2.2.共同体共同体(unionunion)3.3.结构体与共用体小结结构体与共用体小结4.4.枚举类型枚举类型(enumenum)5.5.typedeftypedef定义类型定义类型结构体(结构体(structstruct)1.1.结构体的概念结构体的概念2.2.结构体数组结构体数组3.3.结构体指针结构体指针结构体的概念结构体的概念1.1.结构体的定义结构体的定义2.2.结构体变量的存储特点结构体变量的存储特点3.3.结构体变量的引用结构体变量的引用4.4.结构体的初始化结构体的初始化结构体的定义结构体的定义1 1、含义:不同类型数据的集合。、含义:不同类型数据的集合。2 2、功能:用于描述一个、功能:用于描述一个“概念概念”。(或记录)。(或记录)如:如:num name sex age score num name sex age score addraddr 10010 10010 LiFun LiFun M 18 87.5 M 18 87.5 BeiJingBeiJing3 3、定义方法:定义方法:方法一:在定义结构体类型的同时,直接给出结构体变量。方法一:在定义结构体类型的同时,直接给出结构体变量。如:如:struct struct 结构体名结构体名 结构体成员变量的定义;结构体成员变量的定义;变量名变量名1 1,变量名,变量名2 2,.,变量名,变量名n n;方法二:先给出结构体类型的定义,再定义结构体变量。方法二:先给出结构体类型的定义,再定义结构体变量。如:如:struct struct 结构体名结构体名 结构体成员变量的定义;结构体成员变量的定义;例:例:;structstruct 结构体名结构体名 变量名变量名1 1,变量名,变量名2 2,.,变量名,变量名n n;4 4、要点:要点:方法二:方法二:struct struct student student intint number;number;char name20;char name20;char sex;char sex;intint age;age;float score;float score;char addr30;char addr30;struct struct student student1,student2;student student1,student2;方法一:方法一:struct struct student student intint number;number;char name20;char name20;char sex;char sex;intint age;age;float score;float score;char addr30;char addr30;student1,student2;student1,student2;请注意两种方法的不同特点:请注意两种方法的不同特点:1 1、“;”的用法;的用法;2 2、方法二可以用一个、方法二可以用一个*.h h文件来存储结构体的定义。文件来存储结构体的定义。4 4、要点:、要点:结构体名(结构体名(structstruct):用于标识一种新的数据类型,用于标识一种新的数据类型,即结构体类型,可以省略。即结构体类型,可以省略。注意区分结构体类型与基本数注意区分结构体类型与基本数 据类型的不同,它是据类型的不同,它是复合数据复合数据 类型。类型。结构体成员变量与普通变量的结构体成员变量与普通变量的 定义一样,它还可以是结构体定义一样,它还可以是结构体 变量。变量。structstruct date date intint month,day,year;month,day,year;structstruct student student intint num;num;char name20;char name20;char sex;char sex;intint age;age;structstruct date birthday;date birthday;char addr30;char addr30;student1,student2;student1,student2;结构体变量的存储特点结构体变量的存储特点如:如:struct struct student student intint number;number;char name5;char name5;char sex;char sex;intint age;age;float score;float score;char addr10;char addr10;student1,student2;student1,student2;structstruct student student所占存储空间的所占存储空间的大小为:大小为:各成员变量所占存储单元字节数各成员变量所占存储单元字节数之和。之和。s sizeofizeof(student)(student)student1.numberstudent1.numberstudent1.name0student1.name0.student1.name4student1.name4student1.sexstudent1.sexstudent1.agestudent1.agestudent1.scorestudent1.scorestudent1.addr0student1.addr0.student1.addr9student1.addr9student2.numberstudent2.numberstudent2.name0student2.name0.student2.name4student2.name4student2.sexstudent2.sex.student1student1student2student2结构体类型变量的引用结构体类型变量的引用一、原则:通过结构体的成员来引用结构体变量。一、原则:通过结构体的成员来引用结构体变量。二、成员的引用方法为二、成员的引用方法为:结构体变量名结构体变量名.成员名成员名三、要点:三、要点:1.1.结构体变量不能整体输入输出结构体变量不能整体输入输出,只能对它的成员进行操作。只能对它的成员进行操作。如如:student1.num;student1.num;2.2.如果成员本身又是一个结构体类型如果成员本身又是一个结构体类型,则要使用若干个成员运算符则要使用若干个成员运算符,逐级找到最底层的成员。逐级找到最底层的成员。如如:student1.birthday.daystudent1.birthday.day3.3.成员变量可以象一般的变量一样进行各种运算成员变量可以象一般的变量一样进行各种运算,只是在运算时要只是在运算时要加上加上“.”.”运算符。运算符。4.4.可以引用成员的地址。可以引用成员的地址。结构体变量的初始化结构体变量的初始化一、只可以给主函数中或外部存储类别和静态存一、只可以给主函数中或外部存储类别和静态存储类别的结构体变量、数组赋初值。储类别的结构体变量、数组赋初值。1 1、对外部存储类型的初始化对外部存储类型的初始化.2 2、对静态存储类型的结构体变量进行初始化对静态存储类型的结构体变量进行初始化二、给结构体变量赋初值不能跨越前面的成员而二、给结构体变量赋初值不能跨越前面的成员而只给后面的成员变量赋值。只给后面的成员变量赋值。例例exp8_1:exp8_1:对外部存储类型的初始化对外部存储类型的初始化.#include#include.hstruct struct studentstudent long number;long number;char name20;char name20;char sex;char sex;intint age;age;float score;float score;char addr30;char addr30;a a=99641,”Li Ping”,M,56,”Tianjin Street”;=99641,”Li Ping”,M,56,”Tianjin Street”;main()main()printfprintf(“No.:%ld(“No.:%ldnnamenname:%s:%snsexnsex:%c:%cnaddressnaddress:%sn”,:%sn”,a.num,a.name,a.sex,a.a.num,a.name,a.sex,a.addraddr););例例exp8_2:exp8_2:对静态存储类型的结构体变量进行初始化对静态存储类型的结构体变量进行初始化.#include#include.hmain()main()static static struct struct studentstudent long number;long number;char name20;char name20;char sex;char sex;intint age;age;float score;float score;char addr30;char addr30;a a=99641,”Li Ping”,M,56,”Tianjin Street”;=99641,”Li Ping”,M,56,”Tianjin Street”;printfprintf(“No.:%ld(“No.:%ldnnamenname:%s:%snsexnsex:%c:%cnaddressnaddress:%sn”,:%sn”,a.num,a.name,a.sex,a.a.num,a.name,a.sex,a.addraddr););结构体数组结构体数组1.1.结构体数组的含义:结构体数组的含义:数组元素是结构体类型数据的数组称为结构体数组。数组元素是结构体类型数据的数组称为结构体数组。2.2.结构体数组的定义结构体数组的定义3.3.结构体数组的初始化结构体数组的初始化4.4.结构体数组的应用举例结构体数组的应用举例结构体数组的定义结构体数组的定义一、含义:若干个相同的结构体类型变量组成的数据集合。一、含义:若干个相同的结构体类型变量组成的数据集合。二、定义方法:二、定义方法:structstruct 结构体名结构体名 例如:例如:结构体成员定义;结构体成员定义;数组名数组名 元素个数元素个数;三、结构体数组的使用方法三、结构体数组的使用方法1 1、通过数组的下标(或指向数组的指针)来访问结构体变量。、通过数组的下标(或指向数组的指针)来访问结构体变量。2 2、再通过结构体变量的成员实现结构体数据的访问。、再通过结构体变量的成员实现结构体数据的访问。形式为:形式为:数组名数组名 下标下标.成员名成员名如:如:stu2.namestu2.name=“Wang Ying”;=“Wang Ying”;struct struct studentstudent long number;long number;char name20;char name20;char sex;char sex;intint age;age;float score;float score;char addr30;char addr30;structstruct student student stu3;stu3;struct struct studentstudent long number;long number;char name20;char name20;char sex;char sex;intint age;age;float score;float score;char addr30;char addr30;stu3;stu3;结构体数组的物理含义:结构体数组的物理含义:表示实体(或记录)的个数。表示实体(或记录)的个数。1 1、含义:在定义结构体数组时完成数组元素的赋值、含义:在定义结构体数组时完成数组元素的赋值2 2、方法:与一般数组元素赋初值的方法相同。、方法:与一般数组元素赋初值的方法相同。struct struct studentstudent long number;long number;char name20;char name20;char sex;char sex;intint age;age;float score;float score;char addr30;char addr30;a3 a3=99641,”Li Ping”,M,56,”Tianjin Street”,=99641,”Li Ping”,M,56,”Tianjin Street”,99341,”Zhang Fan”,F,78,”Beijing Road”,99341,”Zhang Fan”,F,78,”Beijing Road”,99441,”Ren Zhong”,M,34,”Shenyang Road”;99441,”Ren Zhong”,M,34,”Shenyang Road”;结构体数组的初始化结构体数组的初始化例例exp8_3:exp8_3:对候选人得票的统计程序对候选人得票的统计程序,设有三个候选人设有三个候选人,每次输入一个每次输入一个候选人的名字候选人的名字,最后统计出每个候选人的得票的结果最后统计出每个候选人的得票的结果.#include#include.hstructstruct person person char name20;int count;char name20;int count;leader3 leader3=“Li”,0,”Zhang”,0,”Fun”,0;=“Li”,0,”Zhang”,0,”Fun”,0;main()main()intint i,j;char leader_name20;i,j;char leader_name20;for(i=1;i=10;i+)for(i=1;i=10;i+)scanfscanf(“%s”,leader_name);(“%s”,leader_name);for(j=0;j3;j+)for(j=0;j3;j+)if(if(strcmpstrcmp(leader_name,leaderj.name)(leader_name,leaderj.name)=0)=0)leaderj.count+;leaderj.count+;printfprintf(“n”);(“n”);for(i=0;i3;i+)for(i=0;inump-num。3 3、区分下面的两种用法:区分下面的两种用法:p-n+p-n+和和 +p-np-n1 1、结构体指针的定义:、结构体指针的定义:main()main()struct struct studentstudent long number;long number;char name20;char name20;char sex;char sex;intint age;age;float score;float score;char addr30;char addr30;a=070441,”Li Ping”,M,56,”Tianjin a=070441,”Li Ping”,M,56,”Tianjin Street”,*p=&a;Street”,*p=&a;2 2、结构体指针的使用:结构体指针的使用:a.num,a.name,a.sex,a.a.num,a.name,a.sex,a.addraddr(*p).num,(*p).name,(*p).sex,(*p).(*p).num,(*p).name,(*p).sex,(*p).addraddr;p-num,p-name,p-sex,p-p-num,p-name,p-sex,p-addraddr;指向结构体数组的指针指向结构体数组的指针1 1、定义方法举例:定义方法举例:2 2、使用要点:、使用要点:p+:p+:是指针是指针p p指向数组的下个元素指向数组的下个元素,而这个元素是而这个元素是由结构体类型数据组成的由结构体类型数据组成的,它不是一个简单的变量它不是一个简单的变量.(+(+p)-nump)-num:先使指针先使指针p p指向结构体数组当前位置指向结构体数组当前位置的下一个元素的下一个元素,再访问其元素成员再访问其元素成员num;num;请区别与请区别与(p+)-nump+)-num的不同。的不同。例例exp8_4exp8_4:指向结构体数组的指针指向结构体数组的指针#include#include.hstruct struct studentstudent long number;char name20;long number;char name20;char sex;char sex;intint age;age;float score;char addr30;float score;char addr30;a3=070441,”Li Ping”,M,56,”Tianjin Street”,a3=070441,”Li Ping”,M,56,”Tianjin Street”,070442,”Zhang Fan”,F,78,”Beijing Road”,070442,”Zhang Fan”,F,78,”Beijing Road”,070443,”Ren Zhong”,M,34,”Shenyang 070443,”Ren Zhong”,M,34,”Shenyang Road”;Road”;main()main()structstruct student*p;student*p;for(p=a;pa+3;p+)for(p=a;pnum,p-name,p-sex,p-age,p-score,p-p-num,p-name,p-sex,p-age,p-score,p-addraddr););指向结构体的指针作函数的参数指向结构体的指针作函数的参数1 1、用结构体变量的成员作函数的参数与一般变量、用结构体变量的成员作函数的参数与一般变量作函数的参数一致作函数的参数一致;2 2、用指向结构体变量的指针作函数的参数、用指向结构体变量的指针作函数的参数,实参将实参将地址传递给形参地址传递给形参,与前面指针作函数参数一致与前面指针作函数参数一致;3 3、新版本的、新版本的c c语言允许将整个结构体变量作为函数语言允许将整个结构体变量作为函数的参数进行传递的参数进行传递,要求形参与实参的类型必须一要求形参与实参的类型必须一致致,而且程序占用内存大而且程序占用内存大,运行速度慢运行速度慢.4 4、举例(参见课本、举例(参见课本p227p227)单链表单链表一、链表的含义:一、链表的含义:当一个结构体中有一个成员是指向本结构体的指针时,当一个结构体中有一个成员是指向本结构体的指针时,通过这样的指针可以将若干个相同的结构体存储单元连通过这样的指针可以将若干个相同的结构体存储单元连接成一个新的数据结构。接成一个新的数据结构。举例:举例:二、功能:二、功能:可以根据需要动态的开辟存储空间。可以根据需要动态的开辟存储空间。1.1.malloc(size):malloc(size):在内存中动态的分配一个长度为在内存中动态的分配一个长度为sizesize的连的连续空间续空间;2.2.calloc(n,size):calloc(n,size):在内存中分配在内存中分配n n个长度为个长度为sizesize的连续空的连续空间间;3.3.free(ptr):free(ptr):释放由释放由ptrptr指针指向的内存区域指针指向的内存区域.二、链表操作链表操作建立链表建立链表、在链表、在链表插入结点插入结点、删除链表结点删除链表结点单链表的结构:单链表的结构:structstruct student student intint num;num;float score;float score;structstruct student*next;student*next;要点:要点:1 1、链表中的元素在内存中存放顺序是不连续的。、链表中的元素在内存中存放顺序是不连续的。由由nextnext指针指针来连接各节点。来连接各节点。2 2、链表数据结构的实现、链表数据结构的实现,必须利用指针变量必须利用指针变量.headheadnumnumscorescorenextnext numnumscorescorenextnext numnumscorescoreNULLNULL.节点节点建立含建立含n n个节点的个节点的链表过程链表过程:mallocmalloc()()mallocmalloc()()headheadnumnumscorescorenextnext numnumscorescorenextnext numnumscorescoreNULLNULL.structstruct student*student*creatcreat()()structstruct student*head,*p1,*p2;student*head,*p1,*p2;n=0;head=NULL;n=0;head=NULL;p1=p2=(p1=p2=(structstruct student*)(student*)(mallocmalloc(sizeofsizeof(structstruct student);student);scanf(“%ld,%f”,&p1-num,&p1-score);scanf(“%ld,%f”,&p1-num,&p1-score);while(p1-num!=0)while(p1-num!=0)n=n+1;if(n=1)head=p1;n=n+1;if(n=1)head=p1;else else p2-next=p1;p2-next=p1;p2=p1;p1=(p2=p1;p1=(structstruct student*)(student*)(mallocmalloc(sizeofsizeof(structstruct student);student);scanf(“%ld,%f”,&p1-num,&p1-score);scanf(“%ld,%f”,&p1-num,&p1-score);p2-next=NULL;return(head);p2-next=NULL;return(head);在链表中插入结点的过程在链表中插入结点的过程.mallocmalloc()()mallocmalloc()()headheadnumnumscorescorenextnext numnumscorescorenextnext numnumscorescoreNULLNULL numnumscorescorenextnext mallocmalloc()()删除链表结点的过程删除链表结点的过程:mallocmalloc()()headheadnumnumscorescorenextnext numnumscorescorenextnext numnumscorescorenextnext.共同体(共同体(unionunion)1.1.共同体的含义与定义方法共同体的含义与定义方法2.2.共同体的共同体的存储特点存储特点3.3.共同体的使用共同体的使用共同体的含义与定义方法共同体的含义与定义方法一、含义:一、含义:几个不同变量共同占用同一块内存空间几个不同变量共同占用同一块内存空间,只是一种覆盖技术只是一种覆盖技术,所谓的共同占用是指这几个变量共同拥有内存的同一个起始地址所谓的共同占用是指这几个变量共同拥有内存的同一个起始地址.共用相同的存储单元。共用相同的存储单元。二、定义形式二、定义形式:union union 共用体名共用体名 例如例如:成员表列;成员表列;union date union date 变量表列变量表列;intint i;i;char char chch;float f;a,b,c;float f;a,b,c;共同体的存储特点共同体的存储特点1.1.同一块内存可以存放不同类型的数同一块内存可以存放不同类型的数据据,但在某一时刻只能存放其中的一但在某一时刻只能存放其中的一种种;2.2.共用体变量中起作用的成员是最后共用体变量中起作用的成员是最后一次存放的成员一次存放的成员;3.3.共用体变量的地址和它的成员的地共用体变量的地址和它的成员的地址是同一个地址址是同一个地址;4.4.共用体变量不能整体被赋值共用体变量不能整体被赋值,也不也不能给共用体变量赋初值能给共用体变量赋初值;5.5.不能把共用体变量作为函数的参数不能把共用体变量作为函数的参数进行传递进行传递,但可以使用指向共用体变但可以使用指向共用体变量的指针作为函数的参数量的指针作为函数的参数;6.6.结构体类型和共用体类型可以嵌套结构体类型和共用体类型可以嵌套使用。使用。a.i/a.a.i/a.chch/a.f/a.fb.i/b.b.i/b.chch/b.f/b.fc.i/c.c.i/c.chch/c.f/c.fa ab bc c例如例如:union date union date intint i;i;char char chch;float f;a,b,c;float f;a,b,c;共同体的使用共同体的使用例例exp8_5:exp8_5:已知字符已知字符“0”0”的的ASCIIASCII马为十六进制的马为十六进制的30,30,下面程序的输出下面程序的输出为为:main()main()union union unsigned char c;unsigned char c;unsigned unsigned intint i4;z;i4;z;z.i0=0 x39;z.i1=0 x36z.i0=0 x39;z.i1=0 x36;printfprintf(“%cn”,(“%cn”,z.cz.c););运行结果:运行结果:9 90011011000000000i1?.i20011100100000000i0c的地址i0的低位地址例:下列程序的运行结果是什么例:下列程序的运行结果是什么?#include include .h main()main()union union zjzj intint a a;char char chch2 2;auau;au.a au.a298298;printf printf(dndndn,au.dn,au.chch0 0,au.,au.chch1 1);运行结果为:运行结果为:42,142,1结构体与共用体小结结构体与共用体小结一、共同点:一、共同点:都是不同类型数据的集合都是不同类型数据的集合二、不同点:二、不同点:1 1、结构体中各个成员均在内存中存在,、结构体中各个成员均在内存中存在,而共同体中只有一个成员存在于内存中。而共同体中只有一个成员存在于内存中。2 2、结构体占用的存储空间是所有成员所占空间的和、结构体占用的存储空间是所有成员所占空间的和;=sizeofsizeof(结构体名)结构体名)而共用体所占内存空间的大小是所有成员中占用存而共用体所占内存空间的大小是所有成员中占用存 储空间最大储空间最大的一个成员的占用空间的值。的一个成员的占用空间的值。3 3、结构体中各个成员相互独立、互不干扰,、结构体中各个成员相互独立、互不干扰,共同体中改变一个成员的值,会影响到其它成员的值。共同体中改变一个成员的值,会影响到其它成员的值。4 4、结构体与共同体可以互为成员。、结构体与共同体可以互为成员。枚举类型枚举类型1 1、含义:、含义:“枚举类型枚举类型”是将变量的取值一一列举出来是将变量的取值一一列举出来,变量的取值只限在列变量的取值只限在列出来的取值范围内出来的取值范围内.2 2、定义方法:、定义方法:enum enum weekday sun,weekday sun,monmon,tuetue,wed,wed,thuthu,frifri,sat;,sat;enumenum weekday workday;weekday workday;枚举类型的变量枚举类型的变量 workdayworkday的取值只能在的取值只能在sun-satsun-sat之间之间.3 3、使用要点:使用要点:4 4、应用举例应用举例要点:要点:1.1.枚举元素在枚举元素在c c语言中按常量来处理语言中按常量来处理,不是变量不是变量,不能被赋值不能被赋值;2.2.作为常量的枚举元素作为常量的枚举元素,它们是有值的它们是有值的.在编译是按它们的定义顺序取在编译是按它们的定义顺序取值为值为0,1,2,30,1,2,3 也可以在定义类型时人为定义枚举元素的值也可以在定义类型时人为定义枚举元素的值,如如 enumenum weekday sun=7,mon=1,tue,wed,thu,fri,sat;weekday sun=7,mon=1,tue,wed,thu,fri,sat;enumenum weekday workday;weekday workday;3.3.枚举值可以用来做条件判断枚举值可以用来做条件判断,如如:if(workday=if(workday=monmon)if(workday if(workdaytuetue)4.4.一个整数不能直接赋值给一个枚举变量一个整数不能直接赋值给一个枚举变量,如如:workday=2;workday=2;()workday=(workday=(enumenum weekday)2;weekday)2;()workday=workday=tuetue;()例:编写程序,功能是输入当天是星期几,就可以计算并输出例:编写程序,功能是输入当天是星期几,就可以计算并输出n n天天后是星期几。例如,今天是星期六,若求后是星期几。例如,今天是星期六,若求3 3天后是星期几,则输天后是星期几,则输入入6 6,3 3,即输出,即输出“3 3天后是星期天后是星期2”2”。#include include .h enumenum week weeksunsun,monmon,tuetue,wedwed,thuthu,frifri,satsat;enumenum week week ndnd(w(w,n)n)enum enum week w week w;intint n n;return(return(enumenum week)(week)(intint)w)wn)n)7)7);main()main()enumenum week w0 week w0,wnwn;/*w0 /*w0表示当天的星期值,表示当天的星期值,wnwn表示表示n n天后的星期值天后的星期值*/intint n n;scanf scanf(d d,dd,w0w0,n)n);wnwnnd(w0nd(w0,n)n);if(if(wnwn0)0)printfprintf(d d天后是星期日天后是星期日 nn,n)n);else else printfprintf(d d天后是星期天后是星期dndn,wnwn);typedeftypedef定义类型定义类型一、含义:一、含义:使用使用typedeftypedef可以说明一个新的类型标识符。可以说明一个新的类型标识符。二、定义方法:二、定义方法:typedeftypedef 类型类型名名 标识符标识符三、要点:三、要点:1 1、“类型名类型名”为已有定义的类型标识符;为已有定义的类型标识符;“标识符标识符”为用户定义的新标识符为用户定义的新标识符2 2、经、经typedeftypedef说明后的标识符可作为原数据类型名使用说明后的标识符可作为原数据类型名使用四、四、应用:应用:typedeftypedef structstruct student student intint i;i;.REC;REC;REC x,y,*p;REC x,y,*p;typedeftypedef structstruct intint month;month;intint day;day;intint year;year;DATE;DATE;DATE birthday,*p;DATE birthday,*p;typedeftypedef structstruct intint _ _fdfd;intint _cleft;_cleft;intint _mode;_mode;char*_ char*_nextcnextc;char*_buff;char*_buff;FILE;FILE;FILE*FILE*fpfp;

    注意事项

    本文(c语言结构体与共同体.ppt)为本站会员(hyn****60)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开