Differenze tra le versioni di "Ottenere il puntatore a una variabile vettoriale"
Da Gambas-it.org - Wikipedia.
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 8: | Riga 8: | ||
− | + | Public Sub Main() | |
Dim vettore As New Byte[4] | Dim vettore As New Byte[4] | ||
Riga 19: | Riga 19: | ||
Print Object.Address(vettore_annidato) | Print Object.Address(vettore_annidato) | ||
− | + | End | |
Come si nota, l'indirizzo dell'Oggetto vettore è ovviamente "diverso" da quello della sua area di memoria, contenente effettivamente i valori vettoriali, puntata dalla Proprietà ".Data". | Come si nota, l'indirizzo dell'Oggetto vettore è ovviamente "diverso" da quello della sua area di memoria, contenente effettivamente i valori vettoriali, puntata dalla Proprietà ".Data". | ||
Riga 25: | Riga 25: | ||
=Note= | =Note= | ||
− | [1] Vedere anche | + | [1] Vedere anche la seguente pagina: [[Assegnare un vettore ad una variabile di tipo Puntatore]] |
− | |||
− |
Versione attuale delle 17:24, 9 nov 2024
Per ottenere una variabile di tipo "Puntatore" che punti a una variabile vettoriale (array) [nota 1], bisognerà considerare che:
- con il Metodo "Object.Address(vettore)" si ottiene l'indirizzo di memoria dell'Oggetto vettore;
- con la Proprietà ".Data" dell'array si ottiene l'indirizzo della specifica area di memoria dell'Oggetto vettore ove sono memorizzati i valori contenuti dal vettore medesimo.
Se la variabile del tipo del vettore è "annidata", allora potrà usarsi anche la funzione "VarPtr()" al posto della Proprietà "vettore.Data".
Esempio:
Private vettore_annidato[4] As Byte Public Sub Main() Dim vettore As New Byte[4] Print vettore.Data Print Object.Address(vettore) Print Print vettore_annidato.Data Print VarPtr(vettore_annidato) Print Object.Address(vettore_annidato) End
Come si nota, l'indirizzo dell'Oggetto vettore è ovviamente "diverso" da quello della sua area di memoria, contenente effettivamente i valori vettoriali, puntata dalla Proprietà ".Data".
Note
[1] Vedere anche la seguente pagina: Assegnare un vettore ad una variabile di tipo Puntatore