CAllocate

Allocates memory for a certain number of elements from the free store and 
clears the contents

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

Usage
   result = CAllocate( num_elements [, size ] )

Parameters
   num_elements
      The number of elements to allocate memory for.
   size
      The size, in bytes, of each element.

Return Value
   If successful, the address of the start of the allocated memory is 
   returned. Otherwise, the null pointer (0) is returned.

Description
   CAllocate initializes the allocated memory with zeros.
   Consequently, CAllocate can be also directly used with String or Udt 
   containing string, because the string descriptor is cleared (set to 0) 
   first.
   Similarly, CAllocate can also be used directly with ZString or WString 
   because string data is created with null characters.

Example
   ' Allocate and initialize space for 10 integer elements.
   Dim p As Integer Ptr = CAllocate(10, SizeOf(Integer))

   ' Fill the memory with integer values.
   For index As Integer = 0 To 9
      p[index] = (index + 1) * 10
   Next

   ' Display the integer values.
   For index As Integer = 0 To 9
      Print p[index] ;
   Next

   ' Free the memory.
   Deallocate(p)
      
Outputs:

    10 20 30 40 50 60 70 80 90 100
   	

Dialect Differences
   * Not available in the -lang qb dialect unless referenced with the 
     alias __Callocate.

Differences from QB
   * New to FreeBASIC

See also
   * Allocate
   * Deallocate
   * Reallocate

