Assegnare ad un Puntatore un'area di memoria riservata con Alloc()

Da Gambas-it.org - Wikipedia.

Per riservare un'area di memeoria, si può fare uso della funzione Alloc():

Alloc(Valore As Variant, Count As Integer) As Pointer

L'area di memoria allocata viene puntata da una variabile di tipo Puntatore restituita dalla funzione Alloc(). Il Puntatore referenzia una determinata porzione di memoria; e mediante questa variabile è possibile gestire l'area di memoria riservata.

Proprio in questo senso il Puntatore è una variabile di tipo generico, in quanto punta ad un'area di memoria di dimensione non pre-definita dal linguaggio (come ad esempio per quella delle altre variabili: Byte che occupa 1 byte, Short che occupa 2 byte, Integer che occupa 4 byte, e così via).


Uso di Alloc() con i valori numerici

Se la funzione Alloc() viene utilizzata con valori numerici, allora essa alloca un'area di memoria avente la dimensione indicata dal valore numerico moltiplicata per l'intero eventualmente indicato nella variabile Conta. Come valore predefinito la variabile Conta è uguale a 1:

Alloc(Dimensione AS Integer[, Conta AS Integer ]) As Pointer


Uso di Alloc() con le stringhe

Se la funzione Alloc() viene utilizzata con valori di tipo stringa, essa alloca un'area di memoria contenente la stringa indicata

Alloc(String As String)  As Pointer

La dimensione dell'area di memoria allocata è uguale alla lunghezza della stringa più un ulteriore byte necessario al terminatore di stringa che è il carattere NULL.