




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
程序设计技术结构体类型和联合体类型8.1结构体类型的基本概念8.1.1结构体类型和变量的定义定义结构体类型变量的三种方法 先定义结构体类型,然后定义变量 同时定义结构体类型和变量 只定义结构体类型变量结构体类型的嵌套定义 结构体类型可以嵌套定义,即定义的一个结构体类型的成员中可以有属于另外一个已经定义完成的结构体类型的变量。为已经存在的数据类型取别名 typedef数据类型名别名; 例:typedefintINTEGER; 则:intj,k;等价于INTEGERj,k; 定义构造类型时为这些类型取别名 typedefstruct结构体名 { 结构体成员列表; }结构体类型别名; 注意:定义别名后,程序中可使用原类型名或别名定义变量,别名习惯上用大写字母。8.1.2关键字typedef的简单应用使用typedef构造复杂数据类型 构造指定长度的字符串数据类型 typedefcharString[100]; String是字符串数据类型的类型名。 Strings1;等价于chars1[100]; 构造指针数据类型 typedefint*IP; 定义IP为整型的指针类型。 IPp1,p2;等价于int*p1,*p2; 例8-1用typedef构造指定长度的字符串类型 例8-3用typedef构造指针数据类型。8.1.3结构体变量的引用和输入输出特别提示:嵌套的结构体成员分量的数据类型与最后一个成员分量的数据类型一致。 例:设有结构体类型及变量定义 structA {intx; floaty; }; structB {structAa; charc; }; 结构体变量的初始化 定义结构体变量的同时初始化: struct标识符变量名={结构体变量成员值列表}; structstudentstu2,stu1= {5001,1988,12,30,”Liwei”,19,'m',”12songlin”,65102621}; stu2=stu1;//两个同类型结构体变量的整体赋值 结构体变量的输入输出 结构体变量不能作为一个整体进行输入或输出。只能将结构体变量的成员作为输入输出的对象。8.1.4结构体变量作函数参数8.1.5结构体作函数的返回值类型结构体类型和联合体类型结构体数组的概念 结构体数组中的每一个数组元素都是具有相同结构体类型的结构体变量。 如一个班的学生档案,某单位的工资表。 结构体数组的定义 定义结构体数组的方式与定义结构体变量相同,只须说明它为数组类型。也有三种方法: struct结构体名数组名[常量表达式]; 使用typedef为结构体类型名取别名来定义结构体数组。 STUstu1[30];结构体数组的初始化 定义结构体数组的同时进行初始化 初始化的一般形式为: struct结构体名数组名[]={初始化数据列表};结构体数组元素的引用 一个结构体数组元素就相当于一个结构体变量,其引用某一元素成员的方法与引用结构体变量成员的方法相同。其形式为: 数组名[下标].成员名 不能将结构体数组元素作为一个整体直接进行输入输出 可以将一个结构体数组元素作为一个整体赋给同一结构体数组的另外一个元素,或赋给一个同类型的结构体变量。 例8-8结构体数组操作示例结构体数组作函数参数 结构体数组可以作为函数的参数在函数间进行传递。使用结构体数组作为函数参数时,实现的是“传地址值调用”。即实参数组将全部或部分存储区域提供给形参数组共享。结构体类型和联合体类型8.3.1结构体类型与指针的关系structperson {charname[20]; intcount; }stu,*p=&stu;用结构体指针作为函数的参数 用指向结构体变量的指针 作为函数的参数,实现的 是“传地址值调用”,可以 提高程序的执行效率。8.3.2结构体数组与指针的关系指向结构体数组的指针 指针指向某结构体数组的首地址(指针未移动)结构体类型和联合体类型8.5联合体数据类型的基本概念8.5.1联合体类型的定义和变量引用定义联合体变量的三种方式 先定义联合体类型,后定义联合体类型变量; union联合体名 { 成员列表;}; union联合体名变量列表; 同时定义联合体类型和联合体类型变量; union联合体名 { 成员列表;}变量列表; 直接定义联合体类型变量; union { 成员列表;}变量列表;同时定义联合体类型和变量 uniontest {inta; longb; }key; 定义了一个联合体类型uniontest和该类型的联合体类型变量key, 32位系统中该类型所占的存储单元长度为8个字节,由变量key的两个成员分量分时复用(共享)。联合体变量的引用 联合体变量不能直接用于操作处理,只能操作它的成员。引用

王子****青蛙
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx