基 础 概 括(typedef用法)
typedef用法;给不同类型起个小名。
typedef就是定义类型的意思。
一 定义变量类型
typedef int Myint 就是给int类型 起了个小名叫 Myint。
二 定义指针类型
取消引用运算符:使用间接运算符* 可以访问指针的变量值,这个*运算符称为取消引用运算符。
typedef char * string 给char* 类型起了个小名叫 string.
char *name 现在用 string name 他俩等同。
三 结构体类型
typedef struct Student MyStu 给Student 起了个小名 MYStu typedet struct 只是象征不用管,只看类型。
怎么用以前 这样
第一种: typedef struct Student stu ={20} : 现在直接用小名代替结构体前面的部分 MyStu stu = {20};
第二种 : 有成员变量的
typedef struct Student
{
int age;
} MyStu; 用MyStu 替代了原来的stu.
第三种: 省略类型的
typedef struct
{
int age ;
} MyStu;
省略类型的结构体不能写回原来的形式,这种方式来定义变量。
第四种: 枚举类型
typedef enum Sex MySex
typedef enum
{
Man,
Wonman
} MySex;
第五种:指针类型
typedef int (*Mypoint) (int ,int); 定义了一个新类型 *MyPoint 就是指向 int(*p)(int,int)=sum :MyPoint的指针。
int (*p) ( int int) = sum;
int(*p1) (int int) = minus;
可改写成: MyPoint p = sum;
MyPoint p1 = minus;
定义了一个指针p指向了 结果。
定义出来的MyPoint 就是一个类型的名称。比如int*p int* 就是名称。
有了类型名称 加上一个指针变量 就可以指向函数了。
第六种: 指向结构体的指针
struct Person p = {30};
struct Person * p2 =&p;
typedef struct Person *person MyPont;
personMyPoint p2 = &p;
personMyPoint 指针指向struct Person* 类型。
typedef使用场合:给已存在类型起一个新的名称
1,基本数据类型
2,指针
3,结构体
4,枚举
5,指向函数的指针