CALLOCATE

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » C » CALLOCATE

Syntax: CALLOCATE (Anzahl [, Größe])
Typ: Funktion
Kategorie: Speicher

CALLOCATE reserviert einen Bereich im Speicher (Heap), setzt alle seine Bytes auf 0 (im Gegensatz zu ALLOCATE!)

CALLOCATE ist kein Teil der FreeBASIC Runtime Library, sondern ein Alias von calloc der C-Lib.
Achtung: Es kann nicht garantiert werden, dass diese Funktion auf allen Plattformen Multithreading unterstützt, d.h. thread-safe ist.

Beispiel:

' Einen INTEGER Pointer erstellen
DIM p AS INTEGER PTR

' Speicherplatz für zehn INTEGER-Werte reservieren
p = CALLOCATE(10, LEN(INTEGER))

' Den Speicherbereich mit zehn Zahlen belegen
FOR fill_p AS INTEGER = 0 TO 9
  p[fill_p] = fill_p
NEXT

' Die Zahlen ausgeben
FOR show_p AS INTEGER = 0 TO 9
  PRINT p[show_p]
NEXT

' Variable wieder freigeben
DEALLOCATE p

' auf Tastendruck warten und beenden
SLEEP
END

Unterschiede zu QB: neu in FreeBASIC

Plattformbedingte Unterschiede:
Es kann nicht garantiert werden, dass die Prozedur auf allen Plattformen thread-safe ist.

Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht CALLOCATE nicht zur Verfügung und kann nur über __CALLOCATE aufgerufen werden.

Siehe auch:
ALLOCATE, REALLOCATE, DEALLOCATE, POINTER, Speicher