Differenze tra le versioni di "Cambiare la dimensione di un'area di memoria mediante Realloc()"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "La funzione ''Realloc()'' consente di assegnare al ''Puntatore'' una nuova e differente dimensione di un'area di memoria precedentemente allocata con la funzione ''Assegnare...") |
|||
Riga 11: | Riga 11: | ||
<FONT Color=gray>' ''Riallochiamo per una dimensione di 8 byte l'area di memoria precedentemente allocata di 4 byte:''</font> | <FONT Color=gray>' ''Riallochiamo per una dimensione di 8 byte l'area di memoria precedentemente allocata di 4 byte:''</font> | ||
− | p2 = <FONT Color= | + | 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 e puntata dalla variabile di tipo 'Puntatore' "p2":''</font> |
Versione delle 10:26, 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 e puntata dalla variabile di tipo 'Puntatore' "p2": Free(p2) End