关于C语言中typedef struct问题

1.struct tag:

定义一个struct:

struct tag {
     int a;
     int b;
} Tag1;

这里的tag只是一个标签,并不是类型,而struct tag才是一个完整的类型,定义变量需要:
struct tag variable;
而上面的Tag1在定义struct结构体的时候定义的一个变量。

2.typedef struct:

typedef struct {
   int a;
   int b;
}name;

这里的name是一个struct类型的别名,可以用来直接定义变量,比如:
name variable2;
上面的struct本身是一个匿名的struct。

3.typedef struct tag :

typedef struct tag {
   int a;
   int b;
}name;

相当于先定义struct tag,然后typedef起别名一样。
可以使用
name variable3;
struct tag variable4;
来定义变量。

区别是typedef struct之后定义变量只能用name,而typedef struct tag的话,之后定义变量可以name也可以struct tag。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值