system verilog学习(2)

本文介绍了动态数组的概念,强调了其在运行时分配空间和调整大小的灵活性。动态数组通过new运算符进行初始化和扩展,可以使用delete释放内存。队列的声明和操作也进行了详细说明,包括插入、删除和访问元素的方法。$符号在队列中的应用展示了其作为边界指示器的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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]。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值