![芯片验证调试手册:验证疑难点工作锦囊](https://wfqqreader-1252317822.image.myqcloud.com/cover/927/47548927/b_47548927.jpg)
上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
![](https://epubservercos.yuewen.com/563682/26947507002660206/epubprivate/OEBPS/Images/txt002_3.jpg?sign=1739287857-8J44bwjAjm9MRPlxihTndthd92C4NNqM-0-72ea23db198040370b880ea757fcaaef)
仿真结果:
![](https://epubservercos.yuewen.com/563682/26947507002660206/epubprivate/OEBPS/Images/txt002_4.jpg?sign=1739287857-xy6Ln402H0Rw7y1VQbEY1pKUYr05lVvB-0-813110fcd8f89d8cb37eda3e10ad6080)
阅读手记: