共同体不是c语言中的一个数据类型,《c语言程序设计教学资料》第12章---构体和共同体.ppt...

《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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值