- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
四、结构体指针变量 (一)指向结构体变量的指针 定义结构体指针变量的一般形式为: struct 结构体名 *结构体指针变量名 通过指针去访问所指结构体变量的某个成员时,有两种方法: 1. (*结构体指针变量).成员名 2.结构体指针变量-成员名 【例5-14】用指针访问结构体变量,改写例5-12 【例5-15】一个工人工资管理系统,共10名工人,内容包括工号、姓名、基本工资、奖金、保险。求每名工人的实发工资,输出所有工人的全部信息,并输出实发工资最高的工人的姓名与实发工资。 再 见 常州信息职业技术学院 C语言程序设计 常州信息职业技术学院 C语言程序设计 5.6 结构体 主讲人 张静 常州信息职业技术学院 2、熟练掌握结构体变量、结构体数组的定义和使用 3、掌握结构体指针变量的定义和使用 4、理解和领会结构体变量和结构体指针变量作为函数参数的区别 知识目标 1、掌握结构体类型的定义 2、能利用结构体编写应用程序, 解决较复杂的实际问题 能力目标 1、会使用结构体存储、处理数据 3、能够独立思考编写代码,并基本熟练 在VC6.0环境下进行程序的调试和测试 (一)用typedef定义类型的方法 C语言不仅提供了丰富的数据类型,而且还允许用关键字typedef定义一种新的类型名来代替已有的类型名。 typedef定义新类型名的一般形式为: typedef 原类型名 新类型名 其中原类型名中含有定义部分,新类型名一般用大写表示,以便于区别。 例如:typedef int INTEGER; typedef float REAL; 定义了新的数据类型INTEGER和REAL,它们分别代表已有数据类型int和float。 则: INTEGER a,b;等效于: int a,b; REAL x,y;等效于: float x,y; 一、用typedef定义类型 用typedef定义新类型名的步骤 3、最前面加typedef 如: typedef int INTEGER; 2、将变量名换成新类型名 如: i换成INTEGER; 1、按定义变量方法先写出定义体 如: int i; 4、用新类型名定义变量 如: INTEGER i,j; 一、用typedef定义类型 典型用法 Typedef 2.定义指针类型 例如: typedef char *STR; /*定义STR为字符指针 类型*/ STR p,s[10]; /*p是字符指针变量, s[10]是字符指针数组*/ 1.定义数组类型 例如: typedef int ARRAY[20]; /*数据类型ARRAY为整型数组类型*/ ARRAY a,b,c; /*等效于int a[20],b[20],c[20];*/ 说明 1.用typedef可以声明各种类型名,但不能用来定义变量。 2.用typedef只是对已经存在的类型增加一个类型名,而没有创造新的类型。 3. typedef与#define有相似之处,如:typedef int INTEGER;和#define INTEGER int;的作用都是用INTEGER代表int。但事实上,它们二者是不同的。#define是在预编译时处理的,它只能作简单的字符串替换,而typedef是在编译时处理的,它并不是作简单的字符串替换,例如: typedef int NUM[10];并不是用“NUM[10]”去代替“int”,而是采用如同定义变量的方法那样来声明一个类型(就是将原来的变量名换成类型名)。 4 .当不同源文件中用到同一类型数据(尤其是像数组、指针、结构体、共用体等类型数据)时,常用typedef声明一些数据类型,把它们单独放在一个文件中,然后在需要用到它们的文件中用#include命令把它们包含进来。 5 .使用typedef有利于程序的通用与移植。有时程序会依赖于硬件特性,用typedef便于移植。例如,有的计算机系统int型数据用两个字节,数值范围为-32768~32767,而另外一些机器则以4个字节存放一个整数,数值范围为±21亿。如果把一个C程序从一个以4个字节存放整数的计算机系统移植到以2个字节存放整数的系统,按一般办法需要将定义变量中的每个int改为long。例如,将“int a,b,c;”改为“long a,b,c;”,如果程序中有多处用int定义变量,则要改动多处。现可以用一个INTEGER来声明int:
您可能关注的文档
- C语言程序设计课件01第一次课.ppt
- C语言程序设计课件03单元2 顺序结构程序设计.ppt
- C语言程序设计课件04单元3 选择结构程序设计.ppt
- C语言程序设计课件05单元4 循环结构程序设计_while和do-while循环结构.ppt
- C语言程序设计课件07单元4 循环结构程序设计_函数的递归调用.ppt
- C语言程序设计课件08单元5 构造类型程序设计_一维数组.ppt
- C语言程序设计课件09单元5 构造类型程序设计_二维数组.ppt
- C语言程序设计课件10单元5 构造类型程序设计_字符数组.ppt
- C语言程序设计课件11单元5 构造类型程序设计_指针变量.ppt
- C语言程序设计课件12单元5 构造类型程序设计_字符指针.ppt
最近下载
- 《七律二首 送瘟神》-中职语文高二同步课件精选(高教版2023·职业模块).pptx VIP
- 高考蓝皮书·物理试题分析2025.docx VIP
- 综合实践活动 开学第一课 2024-2025学年综合实践活动开学第一课课件.pptx VIP
- 高标准农田监理大纲方案投标文件(技术方案).doc
- 小儿过敏性休克抢救流程.pptx VIP
- 液压与气压传动技术完整整套教学课件.pdf VIP
- 技术标投标文件监理大纲.doc VIP
- 2025 年成都市三年级数学秋季开学摸底考 - 冲刺卷及答案(北师大版).docx VIP
- 最新2025年《初中初三开学第一课》全文.pptx VIP
- 姓氏的由来演讲课件(张姓).pptx VIP
文档评论(0)