typedef用来为复杂的声明定义简单的别名。
常见用法:
1.用来定义一种类型的别名,比如说一个类型名称特别长,为了书写方便和便于代码的阅读,实现别名功能(复杂名字简单化)
typedef unsigned char uhar //相比于老名字unsigned char,别名uhar是不是简单很多
uchar 等价于unsigned char定义为uchar
struct Hello_hi_bye //假设有这么2b的名字,这么复杂
{
int b;
float c;
}//可以简化
typedef hello_hi_bye ty;
//如此以来就可以减轻写代码的负担
hello_hi_bye a;
hello_hi_bye b;
hello_hi_bye c;
//可以改写为
ty a;
ty b;
ty c;
//恩轻松多了!
例如像下面这样重复定义有 81 个字符元素的数组:
char
line[81];
char
text[81];
只需这样定义,name类型即代表了具有81个元素的字符数组,使用方法如下:
typedef
char
name[81];
name text,line;//这里定义的text和line都代表了有81个元素的字符数组
同样,可以像下面这样隐藏指针语法:
typedef
char
* pstr;
int
mystrcmp(
const
pstr p1,const pstr p3);