From a640a0dd9a6779ccdf0bd1ce43b2b908aa59f688 Mon Sep 17 00:00:00 2001 From: Mr SL1D3R <76396365+Mr-sl1d3r@users.noreply.github.com> Date: Sun, 15 Sep 2024 20:11:10 +0200 Subject: [PATCH] first commit --- README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..b516f6f --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +# Strutture in C + +Le strutture in C sono un tipo di dato che permette di raggruppare variabili che sono correlate tra di loro e che sono di diversi tipi. Sono utili per rappresentare oggetti reali o dati correlati. In questo caso come esempio useremo una struttura per rappresentare una persona, con i campi nome, cognome e età. + +## Definizione di una struttura +Per definire una struttura, si utilizza `struct` seguita dal nome della struttura e dentro si va a inserire "un blocco di codice" che contiene le dichiarazioni delle variabili. + +```c +struct Persona { + char nome[10]; + char cognome[10]; + int eta; +}; +``` + +## Dichiarazione di una variabile di struttura +Per dichiarare una variabile di struttura, si utilizza la parola chiave struct seguita dal nome della struttura e dal nome della variabile. + +```c +struct Persona p1; +``` + +- ### Accesso ai membri di una struttura + Per accedere ai membri di una struttura, si utilizza l'operatore `.` seguito dal nome del membro. + + ```c + p1.eta = 30; + ``` + +## Assegnazione di stringhe ai membri di una struttura + +Per assegnare una stringa a un membro di una struttura, non è possibile utilizzare l'operatore di assegnazione `=` direttamente. Questo perché i campi di stringa in una struttura sono rappresentati come array di caratteri, e in C non è possibile assegnare una stringa a un array di caratteri con `=`. Invece, si deve utilizzare la funzione `strcpy()` della libreria string.h. + +```c +#include + +struct Persona p1; +strcpy(p1.nome, "Luca"); +strcpy(p1.cognome, "Rossi"); +``` + +## Stampa dei dati di una struttura +Per stampare i dati di una struttura si possono usare 2 metodi: + +- Stampa i dati direttamente: + ```c + printf("Nome: %s\n", p1.nome); + printf("Cognome: %s\n", p1.cognome); + printf("Eta: %d\n", p1.eta); + ``` + Questo metodo è utile se si vuole stampare i dati di una struttura in un punto specifico del codice. Ma se dobbiamo andare a stampare tanti dati di una struttura, questo metodo può diventare ripetitivo e ingombrante. + + + +- Creare una funzione che stampa i dati di una struttura: + ```c + void StampaPersona(struct Persona p) { + printf("Nome: %s\n", p.nome); + printf("Cognome: %s\n", p.cognome); + printf("Eta: %d\n", p.eta); + } + ``` + Questo metodo è utile se si vuole stampare i dati di una struttura in più punti del codice. Inoltre, se si vuole stampare i dati di più strutture, si può passare la struttura come argomento alla funzione.