1、作用:给已有的类型,起一个新名称
2、使用场合:
基本数据类型、指针、结构体、枚举类型、指向函数的指针
下面我距离说明
typedef int MyInt;//基本类型
typedef char * String;//指针类型
struct Student
{
int age;
};
typedef struct Student Mystu;//这里是结构体类型
enum Sex{Man,Woman};
typedef enum Sex MySex;
//枚举类型
typedef int (*MyAdd)(int,int);
int add(int a,int b)
{
return a+b;
}
MyAdd p = add;
int x = p(1,2);
3、使用注意
有些场合#define 和typedef可以相互转换,但是需要符合一定的条件
例如:
#define String char *
typedef char * String
在这样的情况下,String s,s1;如果被置换后,就会产生歧义,如同char *s和char s1;