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

    C面向对象chap结构体共同体和枚举类型.pptx

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

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

    C面向对象chap结构体共同体和枚举类型.pptx

    1struct 结构体名结构体名 成员列表成员列表 ;struct student int num;char name20;char sex;char addr30;结构体名关键字不同数据不同数据类型组成类型组成的的成员成员分号不能少第1页/共30页2定义结构体类型变量的方法定义结构体类型变量的方法一、先定义结构体类型再定义变量名一、先定义结构体类型再定义变量名struct student int num;char name20;char sex;int age;float score;char addr30;struct student student1,student2;结构体类型名变量1变量2结构体类型只是一种数据结构体类型只是一种数据类型,不占内存空间,只类型,不占内存空间,只有定义结构体类型有定义结构体类型变量变量时时才开辟内存空间。才开辟内存空间。第2页/共30页3#define STUDENT struct student STUDENT int num;char name20;char sex;int age;float score;char addr30;STUDENT student1,student2;凡是凡是STUDENT的地的地方都用方都用struct student 机械替换。机械替换。第3页/共30页4二、在定义类型的同时定义变量二、在定义类型的同时定义变量struct student int num;char name20;char sex;int age;float score;char addr30;student1,student2;struct struct 结构体名结构体名 成员列表成员列表 变量名列表;变量名列表;紧接着定义变量第4页/共30页5三、直接定义结构体类型变量三、直接定义结构体类型变量struct int num;char name20;char sex;int age;float score;char addr30;student1,student2;struct 成员列表成员列表 变量名列表;变量名列表;不出现结构体名。不出现结构体名。第5页/共30页62 2、在编译时,仅对、在编译时,仅对变量变量分配空间,不对分配空间,不对类型类型分配分配空间。空间。1 1、结构体类型的变量在内存、结构体类型的变量在内存依照其成员的顺序依照其成员的顺序顺顺序排列,所占内存空间的大小是其全体成员所占空序排列,所占内存空间的大小是其全体成员所占空间的间的总和总和。3 3、对结构体中各个成员可以单独引用、赋值,其、对结构体中各个成员可以单独引用、赋值,其作用与变量等同。作用与变量等同。格式:格式:变量名变量名 .成员名成员名 student1.numstudent1.num第6页/共30页74 4、结构体的成员可以是另一个结构体类型。、结构体的成员可以是另一个结构体类型。struct date int month;int day;int year;struct student int num;char name20;struct date birthday;成员类型成员名5 5、成员名可以与程序中的变量名相同,二者分占不同的内、成员名可以与程序中的变量名相同,二者分占不同的内存单元,互不干扰。例如,在程序中仍可以定义变量存单元,互不干扰。例如,在程序中仍可以定义变量 int num;int num;第7页/共30页8结构体类型变量的引用结构体类型变量的引用1 1、不能对结构体变量整体赋值或输出,只能分别对、不能对结构体变量整体赋值或输出,只能分别对各个成各个成员员引用。引用。cinstudent1;cinstudent1;cinstudent1.num;student1.num=100;cinstudent1.num;student1.num=100;可以将一个结构体变量可以将一个结构体变量整体整体赋给另外一个相同类型的结构赋给另外一个相同类型的结构体变量。体变量。student2=student1;student2=student1;2 2、嵌套的结构体变量必须逐层引用。、嵌套的结构体变量必须逐层引用。student1.student1.birthday.birthday.dayday=25;=25;3 3、结构体变量中的成员可以同一般变量一样进行运算。、结构体变量中的成员可以同一般变量一样进行运算。student1.birthday.day+;student1.score+=60;student1.birthday.day+;student1.score+=60;错误必须用成员名引用第8页/共30页9对局部变量类型的结构体变量初始化对局部变量类型的结构体变量初始化void main(void)struct student long int num;char name20;char sex;char addr30;student1=901031,“Li Lin”,M,“123 Beijing Road”;coutstudent1.nameendl;输出:输出:LiLin对变量初始化,一一赋值第9页/共30页10关于结构类型变量的使用,说明以下几点关于结构类型变量的使用,说明以下几点:1 1、同类型的结构体变量之间可以直接赋值。这种、同类型的结构体变量之间可以直接赋值。这种赋值等同于各个成员的依次赋值。赋值等同于各个成员的依次赋值。2 2、结结构构体体变变量量不不能能直直接接进进行行输输入入输输出出,它它的的每每一一个个成成员员能能否否直直接接进进行行输输入入输输出出,取取决决于于其其成成员员的的类类型型,若若是是基基本本类类型型或或是是字字符符数数组组,则则可可以以直直接接输输入入输出。输出。3 3、结结构构体体变变量量可可以以作作为为函函数数的的参参数数,函函数数也也可可以以返返回回结结构构体体的的值值。当当函函数数的的形形参参与与实实参参为为结结构构体体类类型型的的变变量量时时,这这种种结结合合方方式式属属于于值值调调用用方方式式,即即属属于值传递。(举例说明)于值传递。(举例说明)第10页/共30页11结构体数组结构体数组结构体数组中的结构体数组中的每个元素都是一个结构体类型的变每个元素都是一个结构体类型的变量量,其中包括该类型的各个成员。数组各元素在内,其中包括该类型的各个成员。数组各元素在内存中连续存放。存中连续存放。第11页/共30页12一、结构体数组的定义一、结构体数组的定义struct student int num;char name20;char sex;int age;float score;char addr30;struct student stu30;struct student int num;char name20;char sex;int age;float score;char addr30;stu30;直接定义第12页/共30页13二、结构体数组的初始化二、结构体数组的初始化struct student int num;char name20;char sex;stu3=1011,Li Lin,M,1012,Wang Lan,F,1013,Liu Fang,F;第13页/共30页14struct student int num;char name20;char sex;stu=1011,Li Lin,M,1012,Wang Lan,F,1013,Liu Fang,F;第14页/共30页15以下程序的结果是:以下程序的结果是:void main(void)struct date int year,month,day;today;coutsizeof(struct date)endl;12第15页/共30页16根据下面的定义,能打印出字母根据下面的定义,能打印出字母M的语句是:的语句是:struct person char name9;int age;struct person class10=“Jone”,17,“Paul”,19,“Mary”,18,“Adam”,16 ;A)coutclass3.nameendl;B)coutclass3.name1endl;C)coutclass2.name1endl;D)coutclass2.name0endl;输出:输出:Adam输出:输出:d输出:输出:a输出:输出:M第16页/共30页17结构体类型的静态成员 当当把把结结构构体体类类型型中中的的某某一一个个成成员员的的存存储储类类型型定定义义为为静静态态时时,表表示示在在这这种种结结构构类类型型的的所所有有变变量量中中,编编译译程程序序为为这这个个成成员员只只分分配配一一个个存存储储空空间间,即即这这种种结结构构体体类类型型的的所所有有变变量量共共同同使使用用这这个个成成员员的的存存储空间储空间。:;其中类型要与在结构体中定义该成员的类型一致,结构体类型名其中类型要与在结构体中定义该成员的类型一致,结构体类型名指明静态成员属于哪一个结构体指明静态成员属于哪一个结构体。struct sstatic int id;int eng;int s:id=50;这时,未定义结构体变量,这时,未定义结构体变量,但已将静态成员的空间安但已将静态成员的空间安排好排好。数据类型结构体类型若有定义:s s1,s2;则变量s1,s2的id成员占用同一存储空间(静态区)。第17页/共30页18在结构体中说明的静态成员属于引用性说明,必须在文件作用域中的某一个地方对静态的成员进行定义性说明,且仅能说明一次。int s:id;说明id的初值为0(静态变量的缺省初值均为静态变量的缺省初值均为0)第18页/共30页19共用体共用体C+语言中,允许语言中,允许不同的数据类型使用不同的数据类型使用同一存储区域同一存储区域,即,即同一存储区域由不同类型的变量共同表示。这种数据类型同一存储区域由不同类型的变量共同表示。这种数据类型就是共用体。就是共用体。union 共用体名共用体名 成员表列;成员表列;变量表列;变量表列;union data int i;char ch;float f;a,b,c;union data a,b,c;这几个成员在共用体变量中存放在同一地址,相互覆盖,这几个成员在共用体变量中存放在同一地址,相互覆盖,其长度为最长的成员的长度其长度为最长的成员的长度。第19页/共30页20共用体变量的引用共用体变量的引用不能整体引用共用体变量,只能引用变量中不能整体引用共用体变量,只能引用变量中的成员。的成员。a.i 表示为整型表示为整型a.ch 表示为字符型表示为字符型a.f 表示为符点型表示为符点型第20页/共30页21共用体变量的特点共用体变量的特点1、共用体的空间在某一时刻只有一个成员在起作、共用体的空间在某一时刻只有一个成员在起作用。用。2、共用体变量中的成员是最后一次放入的成员。、共用体变量中的成员是最后一次放入的成员。3、共用体变量不能在定义时赋初值。、共用体变量不能在定义时赋初值。4、共用体变量不能作为函数的参数或函数值,但、共用体变量不能作为函数的参数或函数值,但可使用指向共用体的指针变量。可使用指向共用体的指针变量。5、共用体可以作为结构的成员,结构体也可以作、共用体可以作为结构的成员,结构体也可以作为共用体的成员。为共用体的成员。第21页/共30页22union un int i;double y;struct st char a10;union un b;coutsizeof(struct st)endl;18第22页/共30页23union un short int a;char c2;w;w.c0=A;w.c1=a;coutoctw.aendl;低字节低地址低字节低地址高字节高地址高字节高地址aAw.c1w.c02000H2001H输出:输出:0605010 1 1 0 0 0 0 1 0 1 0 0 0 0 0 1a65?56?652000H2001H第23页/共30页24void main(void)union EXAMPLE struct int x,int y;in;int a,b;e;e.a=1;e.b=2;e.in.x=e.a*e.a;e.in.y=e.b+e.b;coute.in.xte.in.ysun)6、枚举值可以进行加减一个整数、枚举值可以进行加减一个整数n的运算,得到其前后第的运算,得到其前后第n个元素的值。个元素的值。workday=sun;workday=(week)(workday+2);workday=tue7、枚举值可以按整型输出其序号值。、枚举值可以按整型输出其序号值。workday=tue;coutworkday;2第28页/共30页29void main(void)enum team qiaut,cubs=4,pick,dodger=qiaut-2;coutqiauttcubst;coutpicktdodgerendl;输出:输出:045-2第29页/共30页30感谢您的欣赏!第30页/共30页

    注意事项

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

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




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

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

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

    收起
    展开