
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.1.3 在使用enum或struct时添加typedef与否的差别是什么?
如果不添加typedef,例如enum{NO,YES}bool,那么bool为枚举类型“变量”,而“enum{NO,YES}”按照“匿名类型”(anonymous type)来理解;如果添加typedef,例如typedef enum{NO,YES}bool_t,那么bool_t为枚举类型,即通过typedef将匿名类型“显式”(explicitly)定义为bool_t,并且接下来可重复利用bool_t来声明多个变量。
关键词:
enum,struct,typedef
避坑指南:
对于重复使用的enum或struct定义,默认添加typedef,先定义类型再利用该类型去声明变量。
参考代码:sv_enum_assignment.sv

仿真结果:

阅读手记: