C 语言中使用类型的方法有三种:
1. 直接使用C 提供的标准类型名( int char float 等)。
2. 用户自己定义的结构体,共用体,指针等类型。
3. 用 typedef 定义新类型名来代替已有的类型名。
typedef int INTEGER ;
( 指定 INTEGER 代表 int 类型 )
typedef float REAL ;
int i , j ; 与 INTEGER i , j ; 完全等价
float a , b ; 与 REAL a , b ; 完全等价
定义一个新类型名的方法:
(1) 先按定义变量的方法写出定义体
如: int i ;
(2) 将变量名换成新类型名
如: int INTEGER ;
(3) 在最前面加 typedef
如: typedef int INTEGER ;
(4) 然后可以用新类型名去定义变量。
举例:
1. typedef char *STRING ;
(STRING为字符指针类型)
STRING p , s[10] ;
( p为字符指针变量, s 为指针数组)
2. typedef int (*POINTER) ( )
(定义POINTER为指向返回整型值的函数指针类型)
POINTER p1 , p2 ;
说明:
1. typedef 可以定义各种类型名,但不能定义变量。使
用 typedef 有时更方便。如:
int a[10] , b[10] , c[10] , d[10] ;
typedef int ARR[10] ;
ARR a , b , c , d ; (a,b,c,d去替换ARR你就能理解a,b,,c,d所定义的含义了)
2. typedef 与 #define 的区别
#define COUNT int
typedef int COUNT ;
前者是在预编译时处理的,只是简单的字符替换。
而后者是在编译时处理的,并不是简单的字符替换。
3. 使用 typedef 有利于程序的通用和移植。 如:
typedef int INTEGER ;
typedef long INTEGER ;