网站大量收购独家精品文档,联系QQ:2885784924

C语言讲义第07章-结构体与其他构造数据类型原.ppt

C语言讲义第07章-结构体与其他构造数据类型原.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言讲义第07章-结构体与其他构造数据类型原

第7章 结构体与其他构造数据类型 《C语言程序设计》 主要内容 结构体 结构体数组的定义和引用 指向结构体的指针 结构体与函数 复杂的结构体 链表 共用体 位域 枚举类型 类型定义typedef 小结 7.1 结构体 表 7?1学生信息表 7.1 结构体 结构体类型的定义形式: struct [结构体类型名] { 数据类型 成员1; 数据类型 成员2; … 数据类型 成员n; }; 7.1 结构体 例如:表7-1对应的结构体类型定义可以是: struct stu_info { char no[8]; /*学号*/ char name[10]; /*姓名*/ char sex; /*性别*/ int age; /*年龄*/ char department[20]; /*院系*/ }; 7.1 结构体 结构体变量定义有以下三种形式: 先定义结构体类型,再定义结构体类型变量 例如:在结构体类型定义完成后,再定义变量。 struct stu_rec { /* 定义学生记录结构体类型 */ char num[8]; /* 学号 */ char name[10]; /* 学生姓名 */ char sex; /* 性别 */ int score[4]; /* 四科考试成绩 */ }; struct stu_rec student1, student2; /*定义结构体类型变量*/ 7.1 结构体 定义结构体类型的同时定义结构体类型变量 例如:在定义结构体类型时定义变量。 struct date { int year; int month; int day; } mydate1,mydate2; 7.1 结构体 直接定义结构体类型变量 例如:结构体类型定义时不指定类型名,而直接定义变量。 struct { char no[8] /* 编号 */ char name[10]; /* 姓名 */ char sex; /* 性别 */ float b_salary,f_salary,p_salary; /*基本工资、活工资、奖金*/ } person1,person2; /* 定义该结构体类型变量 */ 7.1 结构体 结构体变量一旦进入其作用域,系统便根据结构体类型定义时成员排列的先后,自动为结构体变量的每一个成员分配相应的存储空间。结构体变量的各个成员均有自己的存储空间,结构体变量所占存储空间的大小为各成员所占空间之和。 例如:student1 所占空间大小为:8 + 10 + 1+ 4 * 2 = 27(字节)。 mydate1所点空间大小为:2 + 2 + 2 = 6(字节)。 person1所占空间大小为:8 + 10 + 1 + 3 * 4 = 31(字节)。 7.1 结构体 C语言中,对结构体变量的输入、输出、赋值和运算等操作一般都是通过结构体变量的成员引用来实现的。结构体变量的成员引用,可使用成员运算符“.”来引用。引用的形式为: 结构体类型变量名 . 成员名 若定义的结构体类型及变量如下: struct date { int day; int month; int year; } today; 则变量today各成员的引用形式为: today.day、today.month、today.year。 7.1 结构体 结构体变量的初始化与一维基本类型数组的初始化方法相似。不同的是,对一维数组来说,是初始化数组元素(各元素类型相同),对结构体变量,则是初始化结构体成员(各成员类型可能不同)。 7.1 结构体 也可以使用标准的输入、输出函数完成对结构体类型变量成员的输入(赋值)、输出。由于结构体类型变量成员的数据类型通常是不一样的,用scanf同时输入不同类型的成员数据常常会出现意想不到的情况,解决的方法有以下两种: 7.1 结构体 利用转换函数 将结构体类型变量成员以字符串的形式输入,利用C的类型转换函数将其转换为所需类型。类型转换的函数是: atoi(char*str);将数字字符串转换为整型。 atof(char*str);将数字字

文档评论(0)

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

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

1亿VIP精品文档

相关文档