关于vb中的给动态数组赋值的问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 04:52:39
在VB中动态数组的赋值为array(1,2....),但是为什么在通讯控件中,在读取了缓冲区的数据后,可以直接对动态数组赋值呢.如下str=mscomm1.input:data()=str这又能够赋值呢?

VB的动态数组其实只是一种结构体,它记录了数组指针和数组维数等等信息。它的数组元素并不是保存在这个结构里面的,结构里面有指针变量指向存放数组的内存空间。动态数组刚定义后,不会分配空间,因此无法对它赋值。使用mscomm1.input,winsock.getdata等函数会为动态数组分配足够的内存空间。