Le struct sono un modo per definire “strutture” in C. Che significa? Praticamente noi in C siamo “legati” ai tipi di dato standard che abbiamo visto finora. Gli interi, i float, i char etc.. Ma se noi volessimo definire qualcosa di diverso? Per esempio. Supponiamo di voler definire un punto sul piano cartesiano. Una cosa del genere ad esempio. Vorremmo definire due punti: il Punto A(1,1) ed il punto B(5,4). I punti sul piano cartesiano sono fatti da coppie di numeri. Ovviamente non c’è un dato già fatto e finito in C che ci rappresenta un punto, ce lo dobbiamo fare noi!
Ho definito una nuova struttura: il punto. Il punto è fatto da due scalari: x ed y. E così va bene.
Ok però non abbiamo definito I punti A e B, abbiamo semplicemente definito che cos’è un punto in generale.
Definiamo A e B
Per definire A e B dobbiamo dire “A e B sono strutture chiamate punto”
Bene, adesso però i punti sono vuoti A( , ) e B( , ). Li dobbiamo riempire con i relativi numeri.
Chi di voi già conosce la programmazione ad oggetti conoscerà già questo tipo di sintassi.
mi sta dicendo “prendi la struttura A, nella struttura A trovi una variabile che si chiama x, a quella variabile assegna il valore 1”.
Adesso abbiamo definito i nostri due punti sul piano cartesiano:
Adesso potremmo voler fare qualcosa di matematico tipo calcolare il punto medio tra A e B. Ricordo a tutti che il punto medio si trova facendo le medie delle coordinate x e la media delle y.
Cioè:
Quindi possiamo fare così
Bene adesso alcunni esercizi: qui.