C语言程序设计李学刚电子课件13单元5构造类型程序设计结构体.pptVIP

  • 22
  • 0
  • 约1.12万字
  • 约 30页
  • 2017-11-27 发布于广东
  • 举报

C语言程序设计李学刚电子课件13单元5构造类型程序设计结构体.ppt

四、结构体指针变量 (一)指向结构体变量的指针 定义结构体指针变量的一般形式为: struct 结构体名 *结构体指针变量名 通过指针去访问所指结构体变量的某个成员时,有两种方法: 1. (*结构体指针变量).成员名 2.结构体指针变量-成员名 【例5-14】用指针访问结构体变量,改写例5-12 【例5-15】一个工人工资管理系统,共10名工人,内容包括工号、姓名、基本工资、奖金、保险。求每名工人的实发工资,输出所有工人的全部信息,并输出实发工资最高的工人的姓名与实发工资。 尚辅网 / 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: type

文档评论(0)

1亿VIP精品文档

相关文档