L'articolo fornisce un'analisi comparativa tra struttura e unione nel linguaggio di programmazione C.
Struttura in c
Una struttura in C è un tipo di dati definito dall'utente che consente ai programmatori di raggruppare le variabili di diversi tipi di dati in una singola entità. Una struttura può contenere membri, che possono essere variabili di qualsiasi tipo di dati, come numeri interi, galleggianti, array o persino altre strutture. Per dichiarare una struttura in C, è necessario utilizzare la parola chiave "Struttura" seguito dal nome della struttura e delle sue variabili membri, come mostrato nell'esempio seguente:
Dichiarazione di una struttura in C
Di seguito è riportata la dichiarazione di struttura nella programmazione C.
struct_keyword struct_nameUnione in c
Un'unione in C è anche un tipo di dati definito dall'utente che consente al programmatore di archiviare diversi tipi di dati nella stessa posizione di memoria. A differenza delle strutture, i sindacati hanno una sola posizione di memoria condivisa da tutti i loro membri. Pertanto, un solo membro dell'Unione può accedervi contemporaneamente. La dimensione di un sindacato è misurata dalle dimensioni del suo membro più grande.
Dichiarazione di un sindacato in C
Ecco un esempio di come dichiarare un sindacato in C.
Union_Keyword Union_nameDifferenza tra struttura e unione in c
La tabella seguente mostra la differenza tra struttura e unione nella programmazione C.
Caratteristica | Struttura | Unione |
Definizione | Raccolta di membri dei dati correlati | La stessa posizione di memoria è condivisa da tutti i membri |
Allocazione della memoria | Assegna la memoria per tutti i membri | Assegna la memoria per il membro più grande |
Inizializzazione dei membri | Può essere inizializzato singolarmente o nel suo insieme | Può inizializzare solo un membro alla volta |
Inizializzazione predefinita | I membri vengono inizializzati in valori predefiniti | I membri non sono inizializzati per impostazione predefinita |
Calcolo delle dimensioni | La somma delle dimensioni di tutti i membri | Dimensione del membro più grande |
Casi d'uso | Utilizzato per archiviare più tipi di dati e accedervi insieme | Utilizzato per salvare la memoria quando più tipi di dati condividono la stessa posizione di memoria |
Accesso ai membri | Utilizzando il nome del membro e il punto (.) operatore | Utilizzando il nome del membro e il punto (.) operatore |
Quello che segue è un esempio di codifica che illustra la differenza tra struttura e unione nella programmazione C.
#includereNel codice sopra, abbiamo definito una struttura denominata Mystruct che contiene un numero intero e un personaggio e un'unione chiamata Myunion che contiene anche un numero intero e un personaggio. Quindi creiamo istanze di entrambi Mystruct E Myunion e imposta i loro valori. Impostiamo il valore intero di entrambi su 10 e il valore del carattere di entrambi a 'UN'.
Quando stampiamo i valori della struttura e dell'unione, possiamo vedere che la struttura ha variabili separate per l'intero e il carattere e ogni variabile mantiene il suo valore. L'output è mostrato di seguito:
Conclaudizione
Struttura e unione sono due diversi dati che hanno la sintassi simile in lingua C. Sono diversi in alcuni aspetti come archiviazione, allocazione della memoria, usabilità e altre funzionalità. Questo articolo presenta una guida facile per trovare un confronto dettagliato tra struttura e unione seguito da esempi di codifica che si differenziano chiaramente nella programmazione C.