03typedef关键字
typedef关键字
- C语言不仅供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取“别名”。
- 格式:
typedef 原类型名 新类型名;
- 其中原类型名中含有定义部分,新类型名一般用大写表示,以便于区别。
- 有时也可用宏定义来代替typedef的功能,但是宏定义是由预处理完成的,而typedef则是在编译 时完成的,后者更为灵活方便。
##typedef使用
- 基本数据类型
1 | typedef int INTEGER |
- 也可以在别名的基础上再起一个别名
1 | typedef int Integer; |
用typedef定义数组、指针、结构等类型将带来很大的方便,不仅使程序书写简单而且使意义更为 明确,因而增强了可读性。
数组类型
1 | typedef char NAME[20]; // 表示NAME是字符数组类型,数组长度为20。然后可用NAME 说明变量, |
- 结构体类型
- 第一种形式:
1 | struct Person{ |
+ 第二种形式:
1 | typedef struct Person{ |
+ 第三种形式:
1 | typedef struct { |
- 枚举
- 第一种形式:
1 | enum Sex{ |
+ 第二种形式:
1 | typedef enum Sex{ |
+ 第三种形式:
1 | typedef enum{ |
- 指针
- typedef与指向结构体的指针
1 | // 定义一个结构体并起别名 |
- typedef与指向函数的指针
1 | // 定义一个sum函数,计算a跟b的和 |