版权声明:本文为博主原创文章,未经博主允许不得转载。 https://mp.csdn.net/postedit/83154590、
1、typedef是什么?
typedef是C语言中一个关键字,作用是用来定义(或者叫重命名类型);
百度百科:typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,它与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。
C语言中的类型一共有2种:一种是编译器定义的原生类型(基础数据类型,如int、double之类的);第二种是用户自定义类型,不是语言自带的是程序员自己定义的(譬如数组类型、结构体类型、函数类型·····)。
2、使用typedef的目的?
【目的】有时候自定义类型太长了,用起来不方便,所以用typedef给它重命名一个短点的名字,可以省去一些代码重复劳动的麻烦,比如可以用函数指针pType代替typedef char * (*pType)(char*, const char*);,这样子就可以在下面通过typedef重定义的函数指针类型pType来定义一个新的函数指针了。
【注意】typedef是给类型重命名,也就是说typedef加工出来的都是类型,而不是变量。下面通过typedef来重定义一些类型
//函数指针
typedef char * (*pType)(char*, const char*); //用函数指针pType作为一种类型代替这很长的语句
//注意pType书写的位置;是typedef char * (*pType)(char*, const char*); 而不是 typedef char * (*)(char*, const char*) pType;
//函数指针数组
typedef char * (*pType[5])(char*, const char*);
//函