C语言:类型重命名typedef

公众号: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));

你可能感兴趣的:(C语言基础)