Help Center
Help CenterFreeBASIC

Clearsub

Clears or initializes some memory

Memory Functionssubdocumented

Syntax

Declare Sub Clear cdecl ( ByRef dst As Any, ByVal value As Long = 0, ByVal bytes As UInteger )

Parameters

NameDescription
dststarting address of some memory
valuethe value to set all bytes equal to
bytesnumber of bytes to clear

Description


Clear sets one or more bytes in memory to a certain value (the default value is zero (0) if not specified). The starting address is taken from a reference to a variable or array element.

NOTE: In order to clear memory referenced by a Pointer, it must be dereferenced first (or else specifying in argument term the ByVal keyword in front of the pointer name). Otherwise, Clear will try to clear the bytes at the pointer variable's memory location.

Remarks

Usage


Clear( dst, [value], bytes )

Differences from QB


  • The behavior and usage is new to FreeBASIC
  • The keyword CLEAR was used in QB to erase all variables, close all files, and optionally change the stack size. This use is not supported in FreeBASIC.

See also


Example


'create an array with 100 elements

Dim array(0 To 99) As Integer



'clear the contents of the array to 0, starting with the first element

Clear array(0), , 100 * SizeOf(Integer)





'allocate 20 bytes of memory

Dim As Byte Ptr p = Allocate(20)



'set each of the first ten bytes to 0

Clear *p, 0, 10



'set each of the next ten bytes to 42

Clear p[10], 42, 10



'check the values of the allocated bytes

For i As Integer = 0 To 19

    Print i, p[i]

Next



'deallocate memory

Deallocate p


Reference

  • Documented in KeyPgClear.html