在编程中使用 typedef 目的有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。使用 typedef 有利于程序的通用与移植。
定义类型
在实际工作中,不同公司,有不同的基础变量名,例如:
typedef int RM_32;
typedef unsigned int RM_U32;
typedef unsigned char RM_U8;
一般 U 表示是无符号的,L 是长,S 是短,32 表示位数,例如 32 位表示整形
然而一般时候,typedef 都是用来表示复杂类型的,比如:
typedef int *(*RM_FUN)(int*,double,unsigned char*);
等同于 RM_FUN 可以表示一个返回值为 int*,参数为 int*,double,unsigned char*的 一个函数指针,这样就能直接用 RM_FUN 来定义这样的函数指针了。
RM_FUN p,q;
还经常用于定义结构体,例如:
typedef struct RM_sensor_parameter
{
int a;
int b;
unsigned char c;
char d;
double e;
}RM_ADC;
这样就可以使用 RM_ADC 来定义结构体了。