C Programming Tutorial #5 – Dati strutturati

67 Views 0 Comment

Finora abbiamo parlato di come gestire dati semplici ed operare con essi, adesso complichiamo le cose.

Nella realtà esistono entità descritte da più caratteristiche, talvolta anche di diverso tipo, come possiamo “tradurle” in C?

Questo linguaggio mette a disposizione i tipi strutturati che ci permettono di descrivere questi dati complessi.

Esempio: come faccio a definire una automobile con associata una targa, casa costruttrice, modello ed anno di immatricolazione?

struct

Ok abbiamo definito un tipo di dato strutturato, ora come facciamo a manipolarlo?

Basti pensare ad una tabella, per accedere ad una cella di una tabella bisogna specificare colonna e riga, analogamente alle tabelle, per accedere (leggere o scrivere) ad un attributo di un dato strutturato bisognerà indicare il nome dell’ attributo a cui si vuole accedere. Ecco un piccolo esempio:

dati

Un dato strutturato può avere anche più di una istanza, così come si può definire un vettore di interi, si può definire un vettore di dati strutturati.

Esempio: scrivere un programma che raccolga i dati di 10 automobili e ne memorizzi il contenuto all’ interno di un array.

dati_s

OPERAZIONI CON DATI STRUTTURATI

Essendo i dati strutturati un insieme di dati primitivi, è possibile operare con gli stessi criteri visti negli scorsi tutorial. E’ possibile quindi effettuare delle operazioni aritmetiche e logiche con due o più istanze di dati strutturati.

Esempio: scrivere un programma che prende in input due automobili e restituisce l’ automobile con anno di immatricolazione maggiore (più recente).

op_datis

N.B. Per comodità nell’ esempio non è stato riportato il codice necessario alla valorizzazione dei due dati strutturati in quanto analogo all’ esempio precedente.

 

Nel prossimo articolo parleremo dei Dati strutturati, se invece ti sei perso lo scorso articolo, si è parlato dei Costrutti.

Stai cercando altre guide? Allora dai uno sguardo alla nostra raccolta dedicata alla Programmazione C.

Alla prossima!


Continua a seguirci su:

Facebook Instagram Telegram Rss
0 Comments

Leave a Comment