system verilog学习(2)

2.3 动态数组

可以在仿真时分配空间或调整宽度,节省存储量。

动态数组的声明:声明时使用空的下标[]。即数组的宽度不用在编译时给出,而在程序运行时再指定。

数组最开始都是空的,必须调用new[]操作符来分配空间,同时在中括号中传递数组宽度。

int dyn[],d2[];

dyn = new[5]; //分配5个元素

d2 = dyn; //复制一个动态数组

d2[0] = 5; //修改复制值

dyn = new[20](dyn); //分配20个整数值并进行复制

dyn = new[100]; //分配100个整数值,旧值不复存在

dyn.delete(); //删除所有元素

$size()返回值是数组的大小。

2.4队列

队列的声明是使用$符号,队列元素的编号是0到$。不要对队列使用new[]。

q2[$]={3,4};//队列的常量不需要符号。

q[$] = {0, 2, 5};

q.insert(1,1); //{0,1,2,5};

q.insert(3,q2); //{0, 2, 3 , 4,5}

q.delete(1); //删除第1个元素

如果把$放在左边,$代表最小值;$放在右边,代表最大值,如[$:2}代表[0:2]。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值