11高级程序语言.ppt
《11高级程序语言.ppt》由会员分享,可在线阅读,更多相关《11高级程序语言.ppt(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、&构造数据类型,也叫共用体&用途:使几个不同类型的变量共占一段内存(相互覆盖)联合类型定义定义形式:union 联合名 类型标识符 成员名;类型标识符 成员名;.;例 union data int i;char ch;float f;fchi类型定义不分配内存第十一讲 联合类型形式一:union data int i;char ch;float f;a,b;形式二:union data int i;char ch;float f;union data a,b,c,*p,d3;形式三:union int i;char ch;float f;a,b,c;联合变量的定义fchifchiab联合变量定
2、义分配内存,长度=最长成员所占字节数联合变量任何时刻只有一个成员存在联合变量引用v引用方式:例 a.i=1;a.ch=a;a.f=1.5;printf(“%d”,a.i);(编译通过,运行结果不对)v引用规则l不能引用联合变量,只能引用其成员联合指针名-成员名联合变量名.成员名(*联合指针名).成员名union data int i;char ch;float f;union data a,b,c,*p,d3;a.i a.ch a.fp-i p-ch p-f(*p).i (*p).ch (*p).fd0.i d0.ch d0.fl联合变量中起作用的成员是最后一次存放的成员例 union int
3、 i;char ch;float f;a;a=1;()l不能在定义联合变量时初始化例 union int i;char ch;float f;a=1,a,1.5;()l可以用一个联合变量为另一个变量赋值例 float x;union int i;char ch;float f;a,b;a.i=1;a.ch=a;a.f=1.5;b=a;()x=a.f;()例 将一个整数按字节输出01100001 01000001低字节高字节0100000101100001ch0ch1运行结果:i=60501ch0=101,ch1=141ch0=A,ch1=amain()union int_char int i;
4、char ch2;x;x.i=24897;printf(i=%on,x.i);printf(ch0=%o,ch1=%on ch0=%c,ch1=%cn,x.ch0,x.ch1,x.ch0,x.ch1);结构类型与联合v区别:存储方式不同struct node char ch2;int k;a;union node char ch2;int k;b;achkbch k变量的各成员同时存在任一时刻只有一个成员存在v联系:两者可相互嵌套例 结构类型中嵌套联合 name numsexjobclasspositionLiWang10112086FMST501prof循环n次读入姓名、号码、性别、职务jo
5、b=s真真假假读入class读入position输出“输入错”循环n次job=s真假输出:姓名,号码,性别,职业,班级输出:姓名,号码,性别,职业,职务job=tstruct int num;char name10;char sex;char job;union int class;char position10;category;person2;例联合中嵌套结构类型,机器字数据与字节数据的处理 00010010 00110100低字节高字节0011010000010010lowhigh0 x123400010010 11111111低字节高字节1111111100010010lowhigh0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 11 高级 程序语言
限制150内