- 0 Discussione
-
Le Strutture
Indice |
Introduzione
Modifica
Le strutture possono essere viste come dei raggruppamenti di variabili che hanno qualcosa in comune fra di loro, sono molto utili, perchè possono contenere moltissimi tipi di informazioni organizzate in vari modi, definiti dal programmatore.
La sintassi di una struttura è la seguente:
struct NomeStruttura
{
int miaVar1;
string miaVar2;
bool miaVar3;
double[] miaVar4;
}
La prima struttura
Modifica
In questo paragrafo vedremo come crearci una struttura che rappresenta un Punto. Come sappiamo un punto ha due coordinate x e y, queste due variabili potevano anche essere create nella maniera classica, cioè come due variabili distinte; però siccome rappresenteranno un Punto con coordinate x e y e meglio metterle assieme dentro una struttura chiamata Point
//La nostra struttura Point struct Point { int x; //Rappresenterà la coordinata x del punto int y; //Rappresenterà la coordinata y del punto }
Dichiarazione e utilizzo
Modifica
Una struttura viene dichiarata come una normale variabile, per accedere ai membri della struttura (nel nostro caso x e y) bisogna utilizzare il dot, ovvero il '.' .
Ecco un sorgente che spiega la dichiarazione e l'utilizzo delle strutture
//La nostra struttura Point struct Point { int x; //Rappresenterà la coordinata x del punto int y; //Rappresenterà la coordinata y del punto } int main(string[] args) { //Dichiaro una variabile di tipo point (la nostra struttura) Point pt; //Accedo ai suoi membri col dot e assegno i valori ad x e y pt.x = 400; pt.y = 350; //Stampo i valori su schermo writefln("X: %d", pt.x); writefln("Y: %d", pt.y); return 0; }
Come vedete è molto semplice utilizzarle.
Altre applicazioni
Modifica
Nulla vieta di avere puntatori a struttura o array di strutture, possono essere utilizzate come le variabili, quindi nessuno ci avrebbe vietato di fare:
//La nostra struttura Point struct Point { int x; //Rappresenterà la coordinata x del punto int y; //Rappresenterà la coordinata y del punto } int main(string[] args) { Point* pPoint; //... return 0; }
oppure:
//La nostra struttura Point struct Point { int x; //Rappresenterà la coordinata x del punto int y; //Rappresenterà la coordinata y del punto } int main(string[] args) { Point[10] pt; pt[0].x = 400; pt[0].y = 350; pt[1].x = 400; pt[1].y = 350; //... return 0; }