typedef概述:
- typedef可以声明各种类型名,但不能用来定义变量,typedef只是堆已存在的类型增加一个类型名,而没有创造一个新类型。
- 当不同源文件应用同一类型数据时,常用typedef声明一些数据类型,把他们单独放到一个文件中,然后需要用到的时候用 #include命令把他们包含。(在大型商业项目中这个也是常常会用到)
- 和define不同的是,#define只是在预处理时,简单的做字符串替换,而 typedef 是在编译时处理的,实际上它并不是简单的字符串替换,而是采用如同定义变量的方法来声明一个类型。
- 需要注意的是: typedef后main需要分号。
1: 用typedef 把原来的类型名称变成新名称
// main.cpp
#include<iostream>
typedef struct {
int a;
char c;
}exam;
int main() {
exam score;
score.a = 100;
score.c = 'c';
printf("%d, %c", score.a, score.c);
return 0;
}
打印: 100 c
2: typedef 声明新的类型名,来代替已有类型名
typedef int INTEGER;
int main(){
INTEGER i = 1;
int j = 2;
printf("%d, %d", i , j );
}