...sono ritornato alle mie posizioni di partenza riguardo le strutture, non mi riesce proprio di capire a cosa servano....
La
Struttura, variabile strutturata di reminescenza del C, è un
tipo derivato che aggrega elementi di
tipo diverso. Ci si serve di essa, qualora si abbia necessità di utilizzare un'area riservata di memoria di tipi di dati
non omogenei.
http://www.gambas-it.org/smf/index.php?topic=3919.msg35077#msg35077http://www.gambas-it.org/smf/index.php?topic=3919.msg35108#msg35108...mi si è diradata (in piccola parte) la nebbia riguardo gli stream...
La variabile
Stream si comporta in sostanza in modo identico alla variabile
File; tant'è che ne condivide
Proprietà e
Metodi.
Si differenzia dalla consorella variabile di tipo
File per la circostanza che:
* utilizza memoria volatile (non si utilizza per creare un file classico);
* viene utilizzata per leggere e scrivere in aree allocate di memoria puntate da variabili di tipo
Puntatore (dereferenziazione).
...ho una vaga percezione in più riguardo i puntatori.
Le variabili di tipo
Puntatore restituiscono l'indirizzo di memoria di una variabile o di una area di memoria allocata (riservata) con la funzione
Alloc(). Il
Puntatore così ci consente di accedere all'area allocata o alla variabile puntata al fine di leggerne o scrivervi dati.
La lettura dei dati, contenuti nell'area riservata puntata da una variabile di tipo
Puntatore e più in generale di una variabile puntata da un
Puntatore, può avvenire in Gambas in due modi:
* mediante le funzioni specifiche: Byte@(), Short@(), Int@(), etc
* mediante la gestione dei
Memory Stream.
La scrittura dei dati all'interno di un'area riservata puntata da una variabile di tipo
Puntatore, può avvenire in Gambas - attualmente - in modo esclusivo mediante la gestione dei
Memory Stream.
Strutture e
Puntatori sono
ampiamente utilizzati nel linguaggio C. Pertanto, la loro conoscenza e la capacità della loro gestione è
immensamente e
sommamente richiesta, utile ed imprescindibile nel caso di dichiarazioni e chiamate di funzioni appartenenti ad API di librerie
esterne a Gambas.