公众号:CppCoding
给一个已有的数据类型声明一个新名字。新名字是数据类型的别名。
- 用法
typedef 类型 新名字;
typedef unsigned char Byte;
Byte b = 0x11;
typedef char* Str;
Str str = "ABCDEFG";
我们使用结构体类型时,需要使用struct关键字。typedef可以省略这个关键字。
typedef struct {
成员;
} 类型名;
typedef struct Point3D{
int x;
int y;
int z;
} Point3D;
Point3D p = {1,2,3};
有时结构体的类型名可以省略
typedef struct{
int x;
int y;
int z;
} Point3D;
在typedef定义结构体同时,可以定义结构体指针。
typedef struct{
int x;
int y;
int z;
} Point3D,*pPoint3D;
Point3D p = {1,2,3};
pPoint3D q = &p;
函数指针类型重命名
typedef 返回类型 (* 函数指针类型)(参数)
int add(int a,int b){return a+b;}
typedef int (*opt)(int,int); // 定义函数指针类型
opt fpadd = &add; // 定义函数指针并赋值
printf("%d\n",(*fpadd)(1,3));