Differenze tra le versioni di "Cambiare la dimensione di un'area di memoria mediante Realloc()"

Da Gambas-it.org - Wikipedia.
Riga 13: Riga 13:
 
   p2 = <FONT Color=#B22222>Realloc</font>(p1, SizeOf(gb.Byte), <FONT Color=#B22222>8</font>)
 
   p2 = <FONT Color=#B22222>Realloc</font>(p1, SizeOf(gb.Byte), <FONT Color=#B22222>8</font>)
 
    
 
    
  <FONT Color=gray>' ''Liberiamo la memoria complessivamente allocata e puntata dalla variabile di tipo 'Puntatore' "p2":''</font>
+
  <FONT Color=gray>' ''Liberiamo la memoria complessivamente allocata (8 byte) e puntata dalla variabile di tipo 'Puntatore' "p2":''</font>
 
   Free(p2)
 
   Free(p2)
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione delle 10:28, 10 mar 2016

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 (8 byte) e puntata dalla variabile di tipo 'Puntatore' "p2":
  Free(p2)
  
End