推荐答案
测试一下
题目
System Verilog中,下面哪种数组在使用前需要执行new操作
a.压缩数组
b.联合数组
c.动态数组
d.多维数组
参考答案与知识点
参考答案
正确答案是c.动态数组。SystemVerilog中,动态数组(dynamic array)的声明形式为 `int arr[]`,表示未指定大小,使用前必须通过 `new` 操作符分配空间,例如 `arr = new[10]`,否则无法索引或赋值。其他选项中:a.压缩数组(如 `bit [3:0] a`)在声明时已固定大小,无需new;b.联合数组(关联数组)声明后可直接通过键值对赋值,无需new;d.多维数组若为固定大小(如 `int arr[3][4]`)也无需new。注意动态数组与固定大小数组的核心区别在于大小是否可在运行时改变,而new是动态分配内存的关键操作。
涉及知识点
- 动态数组需new分配空间
- 压缩数组固定大小
- 联合数组无需new
- 多维数组固定大小