前言:
为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。
1. typedef
定义: typedef 是给一个已经存在的数据类型取一个别名,而非定义一个新的 数据类型。
eg:
(1)数据类型别名
typedef unsigned char uint8_t;
typedef unsigned short int uint16_t;
typedef unsigned int uint32_t;
typedef unsigned __INT64 uint64_t;
(2)结构体别名
typedef struct student
{
//code;
}Stu_st,*Stu_pst;
A. struct student stu1; && Stu_st stu1; //等价
B. struct student *stu2; && Stu_pst *stu2; //等价
2. typedef && #define 的区别
2.1 数据类型
(1) #define INT32 int
unsigned INT32 i = 10; //正确
(2)typedef int int32;
unsigned int32 j = 10; //错误,typedef不支持扩展
(3)#define PCHAR char*
PCHAR ptr1,ptr2; //char *ptr1,char ptr2,*只与最接近的变量结合
(4)typedef char* PCHAR ;
PCHAR ptr1,ptr2; //char *ptr1,char *ptr2
注:定义别名时尽可能使用 typedef,#define只是简单的替换