《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

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

  1. c语言中其不同数据类型,C语言中不同类型数据间的转换

    §2.4 不同类型数据间的转换 2.4.1 基本概念 C语言允许数据值从一种类型转换成另一种类型.数据类型的转换有如下三种基本形式: (1)同一类型但长度不同的数据间的转换. (2)定点方式与浮点方式 ...

  2. c语言中的标准数据类型,C语言中的基本数据类型

    编写程序: # include # include int main(void) { printf("char的长度为%d\n",sizeof(char)); //结果: 1 pr ...

  3. c语言判断字符串的编码,C语言中判断一个char*是不是utf8编码

    C语言中判断一个char*是不是utf8编码 里我修改了一下, 纯ASCII编码的字符串也返回true, 因为UTF8和ASCII兼容 实例代码: int utf8_check(const char* ...

  4. 怎样设置一个函数C语言,C语言中怎样编写一个函数 如何在C语言中定义一个函数?...

    如何在C语言中定义一个函数?小编很想在你面前流泪最后却还是选择装作打个哈欠 为什么小编怎么定义函数都不正确呢? 总是说小编 表达语法错误在main函数中 小编们可以在头文件与main函数之间定义,并编 ...

  5. c语言判断utf-8中文字符串,C语言中判断一个char*是不是utf8编码分享

    --想了解C语言中判断一个char*是不是utf8编码分享的全部内容且更多的C语言教程关注 C语言中判断一个char*是不是utf8编码 里我修改了一下, 纯ASCII编码的字符串也返回true, 因 ...

  6. C语言中打开一个应用程序可以调用或运行命令

    C语言中打开一个应用程序可以调用或运行命令system(),也可以调用操作系统的API函数,比如Windows系统可以调用CreateProcess().ShellExecuteEx()等函数来打开一 ...

  7. 数据处理程序语言中的基本数据类型

    程序语言根据其设计目的不同,其侧重的基本数据类型也不同.JAVA.C#等语言被设计用来进行通用的应用程序开发,其基本数据类型是字符串.数字.布尔等原子数据类型,以及数组和通用对象.而SQL.Power ...

  8. c语言八大数据基本类型,C语言中基本的数据类型有哪些

    C语言中基本的数据类型有哪些 发布时间:2020-11-26 15:10:13 来源:亿速云 阅读:76 作者:Leah 本篇文章给大家分享的是有关C语言中基本的数据类型有哪些,小编觉得挺实用的,因此 ...

  9. c语言中变量的大小,C语言变量定义

    C语言变量定义 程序设计就是让计算机按照一定的指令来进行工作,可以说数据的处理是程序设计的主要任务.那么数据是怎么加入到计算机的内存中呢?下面是小编分享的C语言变量定义,欢迎大家阅读!更多相关信息请关 ...

最新文章

  1. 他,跳槽季用这样的方法复习进了阿里
  2. Python 为了提升性能,竟运用了共享经济
  3. FreeCodeCamp纳什维尔聚会的回顾
  4. python按键暂停程序_汇总程序员学习python必备的42个快捷键,看完收获满满
  5. LeetCode刷题——63. 不同路径 II
  6. 华硕FL5900U如何关闭ahci_「IT之家评测室」华硕灵锐 14 体验评测,轻薄身材也能有大能量...
  7. Redies tutorial
  8. python导入第三方库失败_史上最详细 Python第三方库添加方法 and 错误解决方法
  9. 实现原理 扫描枪_激光条码扫描枪原理及五大组成部分!
  10. 局域网内查询嵌入式设备IP的几种方式
  11. 微信小程序学习总结(旋转音乐盒)
  12. 计算机电子科技生产质量标准,SJT9527-1993微型数字电子计算机质量分等标准.pdf...
  13. 在字符串中 快速查找
  14. Spring Boot入门系列(六)Spring Boot如何使用Mybatis XML 配置版【附详细步骤】
  15. 数据库--sql文件
  16. Android studio 改app图标,名字及一键拨号
  17. MOOC(幕课)的到来!
  18. 关于第三方登录,你应该知道的
  19. ASA与FTD的基本配置
  20. 【数学建模】常用微分方程模型 + 详细手写公式推导 + Matlab代码实现

热门文章

  1. 大数据计算存储资源池_管家实践:轻松玩转大数据计算服务
  2. docker-compose 实战案例
  3. FTP多用户权限 linux环境 一站式解决方案(基础篇)
  4. Swagger的描述注释配置详解
  5. idea配置的导入导出
  6. zookeeper开机自启动
  7. idea terminal 不支持中文
  8. 如何给U盘设置一张妖娆又骚气的图标
  9. python工作目录_Python目录的基本操作
  10. 微服务的好处与弊端_《微服务架构设计模式》-学习总结07