“Nel linguaggio C, le strutture sono combinate inizializzazione del tipo di dati che viene utilizzata per raggruppare più variabili in un singolo tipo; Le variabili che sono raggruppate devono essere correlate tra loro. Consente di accedere a tali variabili da un singolo puntatore. La differenza principale tra una struttura e un array è che un array ha un solo tipo di dati, ma d'altra parte, una struttura può contenere diversi dati. Pertanto, possiamo dire che la struttura è un tipo di dati definito dall'utente che viene utilizzato per archiviare più variabili con diversi dati in un singolo blocco per archiviare un tipo o un record specifico.
Supponiamo che dobbiamo conservare un record di una persona; Quel tipo di record avrà attributi con diversi dati come numero, nome in char, ecc. A tale scopo, non possiamo usare l'array in quanto archivia i record con lo stesso tipo di dati. La struttura sarà utile in questo caso per noi. È un modo per diversi dati di gruppo e definirlo significa che stiamo creando il nostro nuovo tipo di dati."
Sintassi
La sintassi per dichiarare una struttura è la seguente:
Nella figura sopra, abbiamo scritto un pezzo di codice per dichiarare una struttura. Struct è una parola chiave per far sapere al sistema che stiamo inizializzando una struttura. Successivamente, abbiamo assegnato un nome alla nostra struttura che è "structer_name". Quindi una staffa di apertura per dichiarare le nostre variabili. Nella sezione variabile, abbiamo dichiarato variabili di diversi dati per guidarti su come una struttura può tenere insieme le variabili con dati diversi. Le variabili sono quindi incluse nella struttura. Per terminare il nostro blocco della struttura, utilizziamo un punto e virgola come interruttore.
Esempio 1
In questa illustrazione, è stata costruita una struttura chiamata "Dettagli per studenti". Nel blocco variabili, abbiamo dichiarato alcune variabili che descrivono gli attributi che uno studente ha. Quindi abbiamo preso tre tratti di uno studente, il suo nome, il numero di rollio e il risultato o, nel nostro esempio, percentuale. Il tipo di dati dei numeri di rollio è un numero intero perché di solito un numero di rotolo è un numero. Al nome completo viene assegnato un carattere e alla fine, la percentuale viene assegnata il tipo di dati float perché possiamo ottenere la percentuale nei punti decimali.
Una cosa da tenere a mente è che la struttura non può essere dichiarata nel metodo principale. Può essere chiamato usando il suo oggetto nel metodo principale. Dopo aver dichiarato la struttura, entreremo nel nostro metodo principale in cui dichiareremo un oggetto della nostra struttura. Con l'aiuto di quell'oggetto, possiamo eseguire operazioni sulle variabili.
Dettaglio1 è il nome di un oggetto che abbiamo generato. Per ogni studente, definiremo un oggetto diverso della nostra struttura come dettaglio2, dettaglio3, ecc. Con l'aiuto di dettagli1, abbiamo chiamato variabili della nostra struttura. Ora, dettaglio1 creerà un record di uno studente specifico. Abbiamo assegnato roll_num = 100 al nostro studente e anche tutti gli altri attributi. Per assegnare i dati a un record specifico, useremo l'oggetto creato per quel record specifico.
Dopo aver assegnato tutti i valori alla variabile in dettaglio di istanza1 della nostra struttura, mostreremo quei record con l'aiuto della funzione printf. Nella funzione Printf, %D indica i valori decimali, %s rappresenta i valori delle stringhe e %F dice che visualizzerà i valori float. Abbiamo stampato tutti e tre gli attributi di "Student XYZ".
Dopo aver eseguito il programma, otterremo questo output del nostro codice sopra scritto. Abbiamo assegnato i valori a un'istanza specifica della nostra struttura e stampato i valori e, come puoi vedere nell'immagine sottostante, il sistema ci ha visualizzato i valori di tale istanza. Ulteriori procedure possono essere eseguite su questi valori. Puoi anche definire un'istanza diversa della struttura Student_Details per creare record di più studenti con nomi diversi e altri tratti.
Esempio 2
Nel seguente esempio, è stata costruita una struttura chiamata tabella. La tabella ha una lunghezza e una larghezza, quindi li abbiamo presi come parametri di questa struttura. Abbiamo già spiegato nell'esempio precedente come una struttura memorizza diversi tipi di dati. Ma in questo esempio, spiegheremo come possiamo accedere a più istanze di una singola struttura. Nel corpo della struttura, abbiamo dichiarato due variabili intera.
Ora per chiamare la struttura, andremo alla nostra funzione principale. Nella funzione principale, abbiamo definito due numeri interi come Area1 e Area2, che immagazzinerà l'area della Tabella 1 e della Tabella 2, rispettivamente. Abbiamo creato il primo oggetto della nostra tabella come T1, che fungerà da Tabella 1, e abbiamo dichiarato il secondo istanza della nostra struttura come T2, che fungerà da Tabella 2. La lunghezza della tabella 1 viene dato un valore di cinque e la sua ampiezza è tre. La variabile area1 memorizzerà il valore che otterremo eseguendo un'operazione multipla sui nostri numeri interi T1. I valori assegnati alla tabella 2 sono 7 e 5. Area2 memorizzerà l'output moltiplicando questi valori tra loro. Finalmente, abbiamo stampato l'output per ottenere i nostri risultati dal codice.
Il sistema lo darà come output. Abbiamo assegnato 5 e 3 alla nostra istanza T1 e, con l'aiuto dell'oggetto della nostra struttura, abbiamo eseguito un'operazione matematica sui nostri dati.
Abbiamo assegnato 7 e 5 al nostro oggetto T2 e ci ha anche dato l'output dopo l'operazione. Quindi, è chiaro che con l'aiuto di una singola struttura e due variabili, abbiamo operato su più oggetti. Innanzitutto, abbiamo calcolato l'area della tabella 1 e poi l'area della tabella2. Questa è un'istanza per mostrare come funzionano le istanze e gli oggetti della struttura.
Conclusione
In questa guida, abbiamo discusso di come le strutture sono implementate in lingua C. Puoi saperne di più sulle strutture utilizzando più esempi basati su scenari. Puoi anche ottenerlo praticando esempi con casi diversi. Le strutture ci consentono di usare le loro istanze tutte le volte di cui abbiamo bisogno e di creare tutti i record che vogliamo. Inoltre, non solo ti consentono di creare più istanze e diversi dati, ma ti consentono anche di eseguire tutta la matematica, le aritmetiche e altre operazioni relative a tali dati. È un approccio efficiente per gestire più record.