A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

关键字typedef的作用:给一个数据类型定义别名,在下边的代码中都可以使用这个别名。
应用场景:
1.基本数据类型
2.指向基本数据类型的指针
3.结构体
4.枚举
5.指向函数的指针
6.指向结构体的指针
以下为详细的定义和使用:
  1. //1.基本数据类型
  2. typedef int myInt;
  3. myInt n = 5;
复制代码
  1. //2.指向基本数据类型的指针
  2. typedef char * string;
  3. string s1 = "这个以假乱真的string";
复制代码
  1. //3.结构体
  2. //(1)基本用法
  3. struct student {
  4.     int age;
  5.     char *name;
  6. };
  7. struct student stu1;
  8. typedef struct student myStudent;
  9. myStudent stu2;
  10. //(2)简化用法
  11. typedef struct student {
  12.     int age;
  13.     char *name;
  14. } myStudent ;
  15. myStudent stu3;
  16. //(3)更简化用法
  17. typedef struct {
  18.     int age;
  19.     char *name;
  20. } myStudent ;
  21. myStudent stu4;
复制代码
  1. //4.枚举
  2. //(1)基本用法
  3. enum sex{
  4.    men,
  5.    women
  6. };
  7. enum sex sex1;
  8. typedef enum sex mySex;
  9. mySex sex2;
  10. //(2)简化用法
  11. typedef enum sex{
  12.    men,
  13.    women
  14. }mySex ;
  15. mySex sex3;
  16. //(3)更简化用法
  17. typedef enum{
  18.    men,
  19.    women
  20. }mySex ;
  21. mySex sex4;
复制代码
  1. //5.指向函数的指针
  2. int func(int a,int b){
  3.     ptintf("%d\n",a+b);
  4. }
  5. int (*p)(int,int)=func;
  6. typedef int (*myPoint)(int,int);
  7. myPoint p2 = func;
复制代码

  1. //6.指向结构体的指针
  2. //(1)基本定义
  3. struct student {
  4.     int age;
  5.     char *name;
  6. };
  7. struct student  *p1 = {22,"xiaoming"};  
  8. typedef struct student  * myPoint;
  9. myPoint p2 = {22,"xiaoming"};
  10. //(2)简单定义
  11. typedef struct student {
  12.     int age;
  13.     char *name;
  14. } * myPoint;
  15. myPoint p3 = {22,"xiaoming"};
  16. //(3)更简单定义
  17. typedef struct student {
  18.     int age;
  19.     char *name;
  20. } * myPoint;
  21. myPoint p4 = {22,"xiaoming"};


复制代码



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马