篇3-枚举,结构体,自定义类型

参考资料:

(1)公众号-芯片学堂;

(2)sv绿皮书;

1.枚举类型

1.1枚举类型的特点与作用

(1)枚举是一组有限的被赋予了名字的值的集合;

(2)默认情况下,集合中元素的数据类型都是int类型,元素值的大小是从0开始的递增关系,如果自增的值与已经定义的值产生冲突,会导致编译不过(元素的数据类型和值都是可以用户自定义的);

(3)枚举在代码中实现的功能与使用宏类似,都可以使用名字代替数值(宏是在预处理阶段将名字换成了值,而枚举是在编译阶段将名字换成了值);

(4)枚举的重要作用就是为了方便区分和使用;

1.2枚举类型的使用

(1)创建枚举类型与相应变量

(2)枚举类型的子程序

(2.1)name函数;

2.结构体struct

2.1结构体的特点

(1)结构体是一种可以包含不同数据类型元素的集合类型(数组和队列只能包含相同数据类型的元素);类比结构体更强大,不仅把数据组织到一起,还包含操作数据的程序;

(2)结构体在引用时,可以通过元素名称对元素进行单独引用;

(3)合并的结构体与非合并的结构体:

(3.1)对于前者,其元素会被无间隙的存放到一块连续的内存空间上;而对于后者,其物理结构一般依赖于C编译器;

(3.2)sv默认是非合并的,为了提高内存空间的利用率;如果用户想要用合并的,需要在struct关键字后面加上packed;

(3.3)合并结构体可以通过在packed关键字后面加signed/unsigned来指定为有无符号类型;非合并结构体不能被指定为有符号类型的;

2.2结构体的使用

 

3.typedef

(1)typedef是sv中提供用来重定义类型名的关键字,最大的好处是可以将一些较长的类型定义成简短的类型名;使用typedef可以提高编程效率,也可以通过新的类型名提高代码的可读性;

(2)typedef使用示例:

posted on 2021-11-10 10:59  知北游。。  阅读(193)  评论(0编辑  收藏  举报

导航