网站开发设计报告书怎么写,哪个公司做企业网站好,泉州模板建站定制,宁波网站推广建站《c语言程序设计教学资料》第12章---构体和共同体向函数传递结构体 用结构体指针或结构体数组作为函数参数#xff0c;向函数传递结构体的地址 按值调用 按地址调用 结构体变量作函数参数 实现按值调用 结构体指针作函数参数 从函数返回 结构体变量的值 共用体 共用体所占内存…《c语言程序设计教学资料》第12章---构体和共同体向函数传递结构体 用结构体指针或结构体数组作为函数参数向函数传递结构体的地址 按值调用 按地址调用 结构体变量作函数参数 实现按值调用 结构体指针作函数参数 从函数返回 结构体变量的值 共用体 共用体所占内存的字节数 不能为共用体的所有成员同时进行初始化只能对第一个成员进行初始化。此外共用体成员不能进行比较操作也不能作为函数参数。 第12章 结构体和共用体 主要内容 定义结构体类型变量的方法 结构体变量的引用 结构体变量的初始化 结构体数组 指向结构体类型数据的指针 共用体 用typedef定义类型 为什么要定义结构体类型 在程序例如何表示一人(姓名、年龄、性别…) 想表示多个人呢 如何用计算机程序实现下述表格的管理 初始化 优点结构紧凑方便管理数据的相关性强便于查找赋值时只针对某个学生局部的输入错误不会影响全局和其他人信息 结构体和共用体 C语言允许用户根据具体问题利用已有的基本类型来构造自己所需的数据类型 数组、结构体、共用体都数据构造性数据类型 结构体定义由若干不同类型的数据项组成(不同类型数据的集合)构成结构体的各个数据项称为结构体成员 共同体定义由若干不同类型的数据项组成构成共同体的各个数据项称为共同体成员 数组、结构体、共同体比较 数组相同类型数据构成适合于对具有相同类型属性的数据进行批处理 结构体将不同类型的数据组织到统一的名字下适合于关系紧密、逻辑相关、具有相同或者不同属性的数据进行处理适合于数据库管理系统 共同体逻辑关系相关的不同类型数据集合但数据成员是情形互斥的每个时刻只有一个数据成员起作用。 struct 结构体名 { 数据类型 成员1名字 数据类型 成员2名字 …… 数据类型 成员n名字 }; 成员列表 结构体 定义结构体第一步声明结构体模板 格式 如struct student { int num; char name[20]; char sex; int age; float score[4]; char addr[30]; }; 声明结构体模板的主要目的是利用已有的数据类型定义一个新的数据类型 结构体模板只是声明了一种数据类型定义了数据的组织形式并未声明结构体类型的变量 定义结构体第二步利用已经定义好的结构体数据类型定义结构体变量 定义结构体变量方式 (1)先声明结构体模板在定义结构体变量 struct 结构体名 { 结构体成员变量的定义 } 变量名1变量名2...变量名n struct 结构体名 { 成员列表 } struct 结构体名 变量名1变量名2...变量名n (2)在声明结构体模板的同时定义结构体变量 (3)在直接定义结构体变量 struct { 结构体成员变量的定义 } 变量名1变量名2...变量名n 此时不出现结构体名 方法二 struct student { int number; char name[20]; char sex; int age; float score; }stu1,stu2; 方法一 struct student { int number; char name[20]; char sex; int age; float score; }; struct student stu1,stut2; 说明 结构体名(struct)用于标识一种新的数据类型即结构体类型可以省略。 注意区分结构体类型与基本数据类型的不同它是复合数据类型。 结构体成员变量与普通变量的定义一样它还可以是结构体变量。 嵌套的结构体 num name sex age birthday addr month day year struct Date { int month; int day; int year; }; struct Stu { int num; char name[20]; char sex; int age; struct Da