篇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   知北游。。  阅读(212)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示