一、理论
SV提供了关联数组类型,用来保存稀疏矩阵的元素,这意味着当你对一个非常大的地址空间进行寻址时,SV只为实际写入的元素分配空间。关联数组可以采用树或哈希表的形式来存放关联数组,但有一定的额外开销。但当保存索引值比较分散的数组时,如32位地址或64位数据作为索引的数据包,这种额外开销显然是可以接受的!
- 关联数组声明采用在方括号中放置数据类型:
data_type associative_array_name[data_type]
- 使用稀疏的内存空间
- 动态分配,非连续元素(有点类似链表)
- 一维,可以利用整数和字符串作为索引。
注:关联数组声明也可以使用
*
在方括号中,但是不推荐,这里仅作为了解即可!
关联数组操作:
- 关联数组可以使用
foreach
进行初始化,简单的for循环可能无法遍历。 - 读取未分配的元素,4值逻辑变量返回x,2值逻辑变量返回0
- 支持函数:
first,next,prev,delet