| free | Function (ROM Call 0xA3)

alloc.h, stdlib.h

void free (void *Ptr);

Frees an allocated block.

free deallocates a memory block allocated by a previous call to malloc or calloc.
Note: free is in fact an ANSI C alias for a TIOS routine originally called HeapFreePtr.
Do not attempt to use free on a pointer which has changed after it was allocated with malloc, calloc, or realloc. For example, the following code will certainly crash the calculator:

    char *ptr = malloc (2);
    if (ptr)
      {
        *(ptr++) = 'A';  // pointer changed here
        *ptr = 0;
        ...
        free (ptr);
      }

Instead, preserve the original pointer and pass it to free.

Uses: HeapFree

See also: malloc, realloc, calloc