10结构体和共用体.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
思考一个问题? 在程序里表示一个人(姓名、年龄、性别、 …… ), 怎么表示? 想表示多个人呢? 如何用计算机程序实现下述表格的管理? 08 电信 B 班信息表 学号 姓名 性别 年龄 C 成绩 家庭住址 1 张三 男 18 90 … … 2 李四 女 19 85 … … 3 王五 女 17 87 … … 4 陈六 男 19 80 … … 5 … … 6 … … 数组的解决方法 int studentId[30]; /* 最多可以管理 30 个学生 , 每个 学生的学号用数组的下标表示 */ char studentName[10][30]; char studentSex[2][30]; int studentAge[30]; /* 年龄 int 表示 */ int scoreComputer[30];/*C 的成绩 */ char studentAddr[10][30]; /* 家庭住址 */ int studentId[30] = {1,2,3,4,5,6}; char studentName[10][30] = {{“ 张三” 201c 李四 }, {“ 王五” 201c 陈六 }}; char 瑳摵湥却硥?孝???筻 男 女 女 男 }}; int studentAge[30] = {18,19,17,19}; int scoreComputer[30] = {90,85,87,80}; char studentAddr[10][30]={{“ 中山市” 201c 江门市” }, {“ 广州市” 201c 珠海市” }}; 数组的解决方法 数据的内存管理方式 90 85 87 80 …… 中山市 江门市 广州市 珠海市 …… 1 2 3 4 …… 张三 李四 王五 陈六 …… 男 女 女 男 …… 18 19 17 19 …… 缺点: – 分配内存不集中,寻址效率不高 – 对数组进行赋初值时,容易发生错位 – 结构显得比较零散,不容易管理 希望的内存分配图 1 张三 男 19 90 中山市 2 李四 女 18 85 江门市 3 王五 女 17 87 广州市 4 陈六 男 19 80 珠海市 第九章 结构体与共用体 § 9.1 结构体的定义与引用 ? 结构体是一种 构造 数据类型 ? 用途:把 不同类型 的数据组合成一个整体 ------- 自定义 数据类型 一、结构体的定义 struct [ 结构体名 ] { 类型标识符 成员名; 类型标识符 成员名; ……………. } ; 成员类型可以是 基本型或构造型 struct 是 关键字 , 不能省略 合法标识符 可省 : 无名结构体 例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; name num sex age score addr 2 字节 2 字节 20 字节 1 字节 4 字节 30 字节 … ….. 结构体类型定义描述结构 的组织形式 , 不分配内存 结构体类型定义的 作用域 例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student stu1,stu2; 二、结构体变量的定义 1 ) 先定义结构体类型,再定义结构体变量 ? 一般形式: struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. } ; struct 结构体名 变量名表列; 2 )定义结构体类型的同时定义结构体变量 一般形式: 例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2; struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. } 变量名表列; 3 )直接定义结构体变量 一般形式: struct { 类型标识符 成员名; 类型标识符 成员名; ……………. } 变量名表列; 例 struct { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2; 用 无名结构体 直接定义 变量 只能一次 ? 说明 ? 结构体类型与结构体变量概念不同 ?

文档评论(0)

zhaoxiaoj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档