
为什么每次定义结构体时都要用到typedef 呢?不知道这样做有什么好处?我觉得不用也一样吧?请帮忙举例解释
1个回答
展开全部
typedef 是用来自定义类型(或指定类型别名)的,在 C 中(注意和 C++ 的区别),经常会有这样的写法:
typedef struct { int a; int b; int c; } ST; // 不命名定义结构体
typedef struct something{ int a; int b; int c; } ST; // 命名定义结构体
其实就是给 struct something 定义了别名 ST,这样在程序中定义结构体变量时,就可以直接写成
ST st1;
如果不用 typedef ,命名的结构体就要写成 struct something st1,而不命名的就不能再定义结构体变量了。
typedef struct { int a; int b; int c; } ST; // 不命名定义结构体
typedef struct something{ int a; int b; int c; } ST; // 命名定义结构体
其实就是给 struct something 定义了别名 ST,这样在程序中定义结构体变量时,就可以直接写成
ST st1;
如果不用 typedef ,命名的结构体就要写成 struct something st1,而不命名的就不能再定义结构体变量了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询