typedef的作用

原文地址:typedef的作用 作者:面包会有的

C提供了许多标准类型(如intcharflaotdoublelong等),此外,还可以用typedef声明一个新的类型名来代替原来已有的类型名。

 

声明形式:typedef 已有类型名  自给新类型名;例:typedef int INTEGER;typedef float REAL;

        则可以用新类型名来定义变量:INTEGER  i,j;REAL  a,b;

例:声明结构体类型:typedef  struct

                          {     int month;

                            int day;

                            int year;

                            } DATE;    

 

但有几点需注意:

(1)、用typedef可以声明各种类型名,但不能用来定义变量;

(2)、用typedef只是对已经存在的类型增加一个类型名,并没有创造新的数据类型;

(3)、typedef与#define有相似之处;如typedef int COUNT;和#define COUNT int;都是用“COUNT” 代替int。但二者的实质不同:#define在预编译时处理,它只作简单的字符串替换;而typedef则在编译时处理,并且不是作字符串替换,而是采用如同定义变量的方法来声明一个类型。

(4)、当不同的源文件中用到同一种数据类型(尤其是像数组、指针、结构体、共用体等类型)时,常用typedef声明一些数据类型,并把它们单独放在一个文件中,然后在需要用到这些类型数据的文件中用#include命令把它们包含进来。

(5)、使用typedef还有利于程序的通用与移植。

例:假设不同的计算机存放整数时用不同的字节数,则要实现不同计算机之间的程序移植(如从2字节到4字节),一般的方法是将程序中定义变量的每一个int都改为long,显然数量越多越麻烦。若在程序开始时,用Integer来声明inttypedef int Integer;并且在程序中所有用到整型变量的地方都用Integer来定义,则程序移植时,只需改动typedef定义体即可:即将typedef int Integer改为typedef long Integer即可。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值