Arbeitsspeichersubsystem

void *sqlite3_malloc(int);
void *sqlite3_realloc(void*, int);
void sqlite3_free(void*);\



Diese drei Funktionen werden von den Sqlite3 Kernfunktionen zur Speicherreservierung genutzt.

sqlite3_malloc(n) liefert einen Zeiger auf einen Speicherblock zurück, der die Größe von n Bytes hat. Kann kein Speicher reserviert werden, dann wird NULL zurückgeliefert. Ist n Null oder negativ, wird ebenfalls NULL zurückgeliefert.

sqlite3_realloc() wird benutzt, um einen bereits reservierten Speicherbereich in der Größe zu verändern. Der erste Pointer zeigt auf den bereits reservierten Speicherbereich. Der zweite Parameter gibt an, um wieviele Bytes der Speicherbereich vergrößert werden soll. Wird der erste Paramter auf NULL gesetzt, entspricht diese Funktion sqlite3_malloc(). Die Rückgabewerte entsprechen denen von sqlite3_malloc()

sqlite3_free() gibt den Speicher wieder frei, der von den obigen beiden Funktionen reserviert wurde. Dies ist notwendig, damit kein Speicherleck entsteht. Als Parameter wird der Zeiger auf den reservierten Speicher übergeben.