- 1、本文档共300页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
原创文档完整版课件完整版ppt完整版电子教案全套课件全套ppt全套电子教案课件汇总整本书课件
例如: Struct { int age; char *addr; union{ int i; char *ch; }x; }y[10]; 若要访问结构变量y[1]中联合x的成员i, 可以写成: y[1].x.i; 若要访问结构变量y[2]中联合x的字符串指针ch的第一个字符可写成: *y[2].x.ch; 若写成y[2].x.*ch;是错误的。 2、联合变量的说明 联合变量的说明和结构变量的说明方式相同, 也有三种形式。即先定义,再说明、定义同时说明和直接说明。 以联合变量department为例,说明如下: union department { int grade; char office; }; union department a,b; /*说明a,b为department类型*/ 或者: union department { int grade; char office; }a,b; /*同时说明a,b为department类型*/ 或者: union { int grade; char office; }a,b /*直接说明a,b为department类型*/ 经说明后的a,b变量均为department类型。a,b变量的长度应等于 department 的成员中最长的长度, 即等于 office数组的长度,共10个字节。a,b变量如赋予整型值时,只使用了2个字节,而赋予字符数组时,可用10个字节。 对联合变量的赋值、使用都只能是对变量的成员进行。 联合变量的成员表示为: 联合变量名.成员名 例如,a被说明为department类型的变量之后,可使用 a. grade或a.office 。不允许只用联合变量名作赋值或其它操作。也不允许对联合变量作初始化赋值,赋值只能在程序中进行一个联合变量, 每次只能赋予一个成员值。一个联合变量的值就是联合变员的某一个成员值。 【例11-4】设有一个教师与学生通用的表格,教师数据有姓名,年龄,身份,教研室四项。学生有姓名,年龄, 身份,班级四项。编程输入人员数据, 再以表格输出。 #includestdio.h #define N 3 int main() { struct { char name[15]; int age; char status; union { int grade; char office[20]; } depa; }body[3]; int i; for(i=0;iN;i++) { printf(input name:\n);/*提示语*/ gets(body[i].name); /*gets函数接收带空格的姓名*/ printf(input age:\n); scanf(%d,body[i].age); getchar(); /*吸收上一句输入的回车符*/ printf(input status(s or t) :\n); body[i]. status=getchar(); if( body[i]. status==s) { getchar(); /*吸收上一句输入的回车符*/ printf(input grade:\n); scanf(%d,body[i].depa.grade); getchar(); /*吸收上一句输入的回车符*/ } else { getchar(); /*吸收上一句输入的回车符*/ printf(input office:\n); gets(body[i].depa.office); } } printf(name\t\tage status grade/office\n); for(i=0;iN;i++) { if(body[i].status==s) printf(%15s\t%3d%3c%20d\n,body[i].name,body[i].age,body[i].status,body[i].depa.grade); /*对齐输出数据*/ else
您可能关注的文档
- 《财经法规与职业道德》全书电子课件完整版ppt整本书电子教案最全ppt教学教程.pptx
- 《民航服务沟通》完整版课件全套ppt最全电子教案整书教案教学设计教学教程.pptx
- 《印刷色彩》全套课件整本书电子课件完整版ppt最全教学教程.ppt
- ASP程序设计完整版全套PPT教程最全电子教案.ppt
- Excel在财务管理中的应用完整版全套PPT教程最全电子教案.ppt
- JavaScript-程序设计基础教程完整版课件全套ppt最全电子教案整书教案教学设计教学教程.pptx
- Linux操作系统全套ppt完整版电子教案最全教学课件全书电子教案.pptx
- Linux操作系统应用编程全书电子课件完整版ppt整本书电子教案最全ppt教学教程.pptx
- MySQL数据库原理与应用项目化教程全套电子课件完整版ppt整本书电子教案最全教学教程.pptx
- office2016办公软件教程完整版全套PPT教程最全电子教案.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)