1. typedef struct 与struct的区别:
typedef 并没有创建任何的新类型,它的作用是为一个已经存在的类型贴上一个方便使用的标签, struct 是创建一种数据类型,相当于 int float;
在使用中比如有定义:
struct name = {
int a,
char b,
};
那么我们需要定义定义一个这种结构类型的结构变量X时需要这样声明: struct name X;
而当使用typedef时候:
typedef struct name = {
int a,
char b,
}book;
那么我们需要定义定义一个这种结构类型的结构变量X时需要这样声明: book X;
其实就是相当于给一个类型或者数据起一个使用它的名字;
2. typedef 与 define 区别:
define 是由预处理器解释,就相当于一个简单的替换,而typedef是由编译器解释,可能是一种数据类型的别名;
例如: #define NAME int* ; typedef int* NAME;
NAME a ,b; NAME a,b;
(int * a),b; int* a, int*b;
define 只是简单替换,而typedef 相当于一个数据类型的别名