System Verilog学习3——数据类型-动态数组and队列

1.动态数组

定宽类型数组在编译时宽度就已经确定。动态数组最大的特点是可以在仿真运行时灵活调节储存量。

动态数组一开始声明时,需要利用'[ ]'来声明,而数组此时是空的,即0容量,需要利用'new[ ]'重新分配其空间;也可以在调用new[]时将数组名也一并传递。

int dyn[],d2[];//声明动态数组
initial begin
    dyn=new[5];//给dyn分配5个元素
    foreach(dyn[j]) dyn[j]=j;//对元素进行初始化
    d2=dyn;//复制一个动态数组
    d2[0]=5;//修改复制值
    $display(dyn[0],d2[0]);//显示数值0和5
    dyn=new[20](dyn);//分配20个数值并进行复制,注意,这20个数值中,有5个是低位复制过去的
    dyn=new[100];//分配100个数值,之前的数值不复存在
    dyn.delete();//删除所有元素
end

删除所有元素的方法有

dyn.delete();

dyn=new[0];

dyn='{0};

注意:int整型的默认值是0,integer的默认值是x

2.队列

队列结合了链表和数组的优点,可以在它任何地方添加或者删除元素,并且通过索引实现对任一元素的访问

队列的声明需要带有美元符号的下标:[$],队列元素的标号从0到[$].

队列不需要new[ ]去创建空间,只需要使用队列的方法为其增减元素,一开始其空间为0

队列的一个简

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值