CAllocate
 
从空闲存储器为一定数量的元素赋值内存,并清除内容

语法

Declare Function CAllocate cdecl ( ByVal num_elements As Integer, ByVal size As Integer = 1 ) As Any Ptr

用法

result = CAllocate( num_elements [, size ] )

参数

num_elements
赋值内存的元素数量。
size
每个元素的大小(以字节为单位)。

返回值

如果成功,则返回赋值内存的开始地址。否则返回null指针(0)。

说明

CAllocate使用零初始化赋值的内存。因此,CAllocate也可以直接与StringUdt包含字符串一起使用,因为字符串描述符首先被清除(设置为0)。

例子

'为10个整数元素赋值和初始化空间。
Dim p As Integer Ptr = CAllocate(10, SizeOf(Integer))

'用整数值填充内存。
For index As Integer = 0 To 9
    p[index] = (index + 1) * 10
Next

'显示整数值。
For index As Integer = 0 To 9
    Print p[index] ;
Next

'释放内存
Deallocate(p)

输出:
 10 20 30 40 50 60 70 80 90 100

平台差异

  • 此过程不能保证线程安全。

方言差异

  • 除非使用别名__Callocate引用,否则不适用于-lang qb 方言。

与QB差别

  • 新的FreeBASIC

参考