C++ Struttura con l'esempio
โก Riepilogo intelligente
Struttura in C++ รจ un tipo di dati definito dall'utente che raggruppa elementi di diversi tipi di dati sotto un unico nome, consentendo a una variabile di contenere valori correlati come nome di persona, cittadinanza ed etร .

Cos'รจ una struttura in C++?
Una struttura รจ una C++ struttura dati che puรฒ essere utilizzata per memorizzare insieme elementi di diversi tipi di dati. In C++, una struttura รจ un tipo di dati definito dall'utente. La struttura crea un tipo di dati per il gruppoping elementi di diversi tipi di dati sotto un unico tipo di dati.
Per esempio:
Supponiamo che tu debba archiviare informazioni su qualcuno, il suo nome, cittadinanza ed etร . Puoi creare variabili come nome, cittadinanza ed etร per archiviare i dati separatamente.
Tuttavia, in futuro potrebbe essere necessario memorizzare informazioni su molte persone. Ciรฒ significa che verranno create variabili per i diversi individui. Ad esempio, nome1, cittadinanza1, etร 1 e cosรฌ via. Per evitare questo, รจ meglio creare una struct.
Quando utilizzare una struttura?
Ecco alcuni motivi per utilizzare la struttura in C++.
- Utilizzare una struttura quando รจ necessario archiviare elementi di tipi di dati diversi in un unico tipo di dati.
- C++ le strutture sono un tipo di valore anzichรฉ un tipo di riferimento. Utilizza una struttura se non intendi modificare i dati dopo la creazione.
C++ Inizializzazione della struttura
Per creare un' C++ struttura, utilizziamo la parola chiave struct, seguita da un identificatore. L'identificatore diventa il nome della struttura. Ecco la sintassi per la creazione di a C++ struttura:
Sintassi:
struct struct_name { // struct members }
Nella sintassi precedente, abbiamo utilizzato la parola chiave struct. Lo struct_name รจ il nome della struttura.
I membri della struttura vengono aggiunti tra parentesi graffe. Questi membri probabilmente appartengono a tipi di dati diversi.
Per esempio:
struct Person { char name[30]; int citizenship; int age; }
Nell'esempio precedente, Person รจ una struttura con tre membri. I membri includono nome, cittadinanza ed etร . Un membro รจ di tipo dati char, mentre i restanti 2 sono numeri interi. Quando viene creata una struttura, la memoria non viene allocata. La memoria viene allocata solo dopo che una variabile viene aggiunta alla struttura.
Creazione di istanze di struttura
Nell'esempio precedente, abbiamo creato una struttura denominata Person. Possiamo creare una variabile struct come segue:
Person p;
La p รจ una variabile struttura di tipo Persona. Possiamo usare questa variabile per accedere ai membri della struttura.
Accesso ai membri della struttura
Per accedere ai membri della struttura, utilizziamo l'istanza della struttura e l'operatore punto (.). Ad esempio, per accedere all'etร del membro della struttura Persona:
p.age = 27;
Abbiamo effettuato l'accesso all'etร del membro della struct Person utilizzando l'istanza della struct, p. Abbiamo quindi impostato il valore dell'etร del membro su 27.
Esempio 1:
#include <iostream> using namespace std; struct Person { int citizenship; int age; }; int main(void) { struct Person p; p.citizenship = 1; p.age = 27; cout << "Person citizenship: " << p.citizenship << endl; cout << "Person age: " << p.age << endl; return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includi il file header iostream nel nostro programma per utilizzare le funzioni definite in esso.
- Includere lo spazio dei nomi std per utilizzare le sue classi senza chiamarlo.
- Crea una struttura denominata Person.
- L'inizio del corpo della struttura.
- Creare un membro della struttura denominato cittadinanza di tipo intero.
- Creare un membro della struttura denominato age di tipo intero.
- Fine del corpo della struttura.
- Chiama la funzione main(). La logica del programma dovrebbe essere aggiunta al corpo di questa funzione.
- Creare un'istanza della struttura Person e assegnarle il nome p.
- Imposta il valore della cittadinanza del membro della struttura su 1.
- Imposta il valore dell'etร del membro della struttura su 27.
- Stampa il valore della cittadinanza del membro della struttura sulla console insieme ad altro testo.
- Stampa il valore dell'etร del membro della struttura sulla console insieme ad altro testo.
- Il programma dovrebbe restituire un valore se viene eseguito correttamente.
- Fine della funzione main().
Puntatori alla struttura
ร possibile creare un puntatore che punta a una struttura. ร simile a come vengono creati i puntatori che puntano a tipi di dati nativi come int, float, double, ecc. Nota che un puntatore in C++ memorizzerร una posizione di memoria.
Esempio 2:
#include <iostream> using namespace std; struct Length { int meters; float centimeters; }; int main() { Length *ptr, l; ptr = &l; cout << "Enter meters: "; cin >> (*ptr).meters; cout << "Enter centimeters: "; cin >> (*ptr).centimeters; cout << "Length = " << (*ptr).meters << " meters " << (*ptr).centimeters << " centimeters"; return 0; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includi il file header iostream nel nostro programma per poter utilizzare le sue funzioni.
- Includi lo spazio dei nomi std nel nostro programma per utilizzare le sue classi senza chiamarlo.
- Crea una struttura denominata Length.
- Inizio del corpo della struttura Length.
- Creare un membro della struttura denominato metri con tipo di dati intero.
- Creare un membro della struttura denominato centimetri di tipo intero.
- Fine del corpo della struttura Length.
- Chiama la funzione main().
- Inizio del corpo della funzione main().
- Creare una variabile puntatore *ptr e una variabile normale l di tipo Length.
- Memorizza l'indirizzo della variabile l nel nostro puntatore variabile.
- Visualizza un messaggio sulla console, chiedendo all'utente di inserire il valore per i contatori variabili.
- Leggere il valore inserito dall'utente tramite tastiera. Qui si accede alla funzione membro metri utilizzando la variabile puntatore.
- Visualizza un messaggio sulla console, chiedendo all'utente di inserire il valore per i centimetri variabili.
- Leggere il valore inserito dall'utente tramite tastiera. Qui si accede alla funzione membro centimetri utilizzando la variabile puntatore.
- Visualizza i valori letti dall'utente sulla console insieme ad altro testo.
- Il programma deve restituire un valore dopo l'esecuzione riuscita.
- Fine del corpo della funzione main().
Struttura come argomento di funzione
Puoi passare una struttura a una funzione come argomento. Questo viene fatto allo stesso modo del passaggio di un normale argomento. Le variabili struct possono anche essere passate a una funzione. Un buon esempio รจ quando รจ necessario visualizzare i valori dei membri della struttura. Dimostriamolo:
Esempio 3:
#include<iostream> using namespace std; struct Person { int citizenship; int age; }; void func(struct Person p); int main() { struct Person p; p.citizenship = 1; p.age = 27; func(p); return 0; } void func(struct Person p) { cout << " Person citizenship: " << p.citizenship<<endl; cout << " Person age: " << p.age; }
Produzione:
Ecco uno screenshot del codice:
Code Spiegazione:
- Includi il file di intestazione iostream nel nostro file. Utilizzeremo quindi le sue funzioni senza ottenere errori.
- Includi lo spazio dei nomi std nel nostro programma per utilizzare le sue classi. Non avremo bisogno di chiamare lo spazio dei nomi per usare le sue classi.
- Crea una struttura denominata Person.
- Inizio del corpo della struttura Person.
- Crea un membro della struttura Person. Il membro รจ denominato cittadinanza ed รจ di tipo intero.
- Crea un membro della struttura Person. Il membro รจ denominato age ed รจ di tipo intero.
- Fine del corpo della struttura Persona.
- Creare una funzione che accetti l'istanza della struttura Person, p, come argomento.
- Chiama la funzione principale. Il { segna l'inizio del corpo della funzione main().
- Creare un'istanza della struttura Person e assegnarle il nome p.
- Accedi alla variabile cittadinanza del membro della struttura utilizzando l'istanza della struttura, p, e assegnandole il valore 1.
- Accedi alla variabile del membro della struttura age utilizzando l'istanza della struttura, p, e assegnandole il valore 27.
- Chiama la funzione e passale l'istanza della struttura Person, p, come argomento.
- La funzione deve restituire un valore dopo l'esecuzione riuscita.
- Fine del corpo della funzione main().
- Creare il corpo della funzione.
- L'inizio del corpo della funzione.
- Accedi al valore di cittadinanza del membro della struttura e stampalo sulla console insieme ad altro testo.
- Accedi al valore dell'etร del membro della struttura e stampalo sulla console insieme ad altro testo.
- Fine del corpo della funzione.
Limitazione di a C++ La struttura
Di seguito sono riportati i limiti delle strutture:
- Il tipo di dati struct non puรฒ essere trattato come tipi di dati incorporati.
- Operatori come + - e altri non possono essere utilizzati variabili di struttura.
- Le strutture non supportano l'occultamento dei dati. ร possibile accedere ai membri di una struttura da qualsiasi funzione indipendentemente dal suo ambito.
- I membri statici non possono essere dichiarati all'interno del corpo della struttura.
- I costruttori non possono essere creati all'interno di una struttura.



