Cambiare la dimensione di un'area di memoria mediante Realloc()

Da Gambas-it.org - Wikipedia.

La funzione Realloc() consente di assegnare al Puntatore una nuova e differente dimensione di un'area di memoria precedentemente allocata con la funzione Alloc().


Mostriamo un semplicissimo esempio:

Public Sub Main()
 
 Dim p1, p2 As Pointer
 
' Allochiamo con la funzione "Alloc()" un'area di memoria pari a 4 byte:
  p1 = Alloc(SizeOf(gb.Byte), 4)
  
' Riallochiamo per una dimensione di 8 byte l'area di memoria precedentemente allocata di 4 byte:
  p2 = Realloc(p1, SizeOf(gb.Byte), 8)
  
' Liberiamo la memoria complessivamente allocata e puntata dalla variabile di tipo 'Puntatore' "p2":
  Free(p2)
  
End