当前位置:   article > 正文

【C语言】typedef

【C语言】typedef

为一个数据类型起一个新的别名

typedef int INTEGER;
INTEGER a,b;
a=1;
b=2;
  • 1
  • 2
  • 3
  • 4
typedef char ARRAY20[20];
ARRAY20 a1,a2,s1,s2;
  • 1
  • 2
typedef struct stu{
    char name[20];
    int age;
    char sex;
}STU;
STU body1,body2;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
typedef int (*PTR_TO_ARR)[4];
PTR_TO_ARR p1,p2;
  • 1
  • 2
typedef int (*PTR_TO_FUNC) (int,int);
PTR_TO_FUNC pfunc;
  • 1
  • 2

typedef和#define的区别

1)可以使用其他类型说明符对宏类型名进行扩展,但对typedef所定义的类型名却不能这样做

#define INTERGE int
unsigned INTERGE n;//没问题
typedef int INTERGE;
unsigned INTERGE n;//错误
  • 1
  • 2
  • 3
  • 4

2)在连续定义几个变量的时候,typedef能够保证定义的所有变量的均为同一类型,而#define却无法保证

#define PTR_INT int*
PTR_INT p1,p2;
//经过宏替换后,变为 int* p1,p2;
//这使得p1、p2成为不同的类型。p1是指向int类型的指针,p2是int类型
//相反地
typedef int* PTR_INT;
PTR_INT p1,p2;
//p1和p2类型相同,它们都是指向int类型的指针
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/523800
推荐阅读
相关标签
  

闽ICP备14008679号