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