typedef的作用

  1. 用来定义类型的;用来定义别名的;有作用域限制;
  2. typedef int MyInt;意思就是给int类型起了一个别名MyInt;
  3. typedef char * String;String name = “jack”;name 就是指针类型;
  4. 给指针类型char *起一个新的类型名称String
  5. 给结构体起别名;typedef struct Student MyStu;也可以写成:
  6. typedef struct Student{int age;}myStu;
  7. 也可以是:typedef struct {int age;}myStu;在里面Student的作用很小;好处是省略了名称;
  8. 给枚举类型定义别名;typedef enum Sex{Man,Woman}MySex;
  9. int (*p) (int,int) = sum;
  10. int(*p)(int,int ) = minius;对指向函数的指针定义别名;
  11. typedef int(*MyPoint)(int,int);这是类型;
  12. MyPoint p = sum;其中p是变量;
  13. typedef struct Person * PersonPoint;
  14. struct Person p = {20};
  15. PersonPoint p2 =&p;
  16. typedef struct Person{int age;}* PersonPoint;
  17. typedef给存在的类型起一个名称;使用场合:基本数据类型;指针;结构体;枚举;指向函数的指针;
  18. .

typedef 注意点:宏定义和include等预处理指令不需要分号;

  1. 使用宏定义起一个别名;#define Integer int把代码中的Integer换成int;
  2. #define String2 char *这句下面对应的结果是:
  3. String2 s3,s4;相当于char *s3,s4;也相当于char *s3,char s4;
  4. 但是以下这种写法是不一样,要区分;
  5. typedef char * String;
  6. String s1,s2;相当于s1 =“jack”;s2=“rose”;既是char *s1;char *s2;
原文地址:https://www.cnblogs.com/williamliuwen/p/5367562.html