Struttura in c

Struttura in c
La struttura è un concetto importante in C. Esistono due tipi di tipi di dati in C. Sono tipi di dati primitivi e tipi di dati non prigioni o definiti dall'utente. La struttura è un esempio di un tipo di dati non prime.

Cos'è la struttura

La struttura è un modo per raggruppare le variabili. A volte, dobbiamo archiviare alcune informazioni in un gruppo.

Supponiamo che dobbiamo archiviare le informazioni di 100 studenti. Informazioni significano il loro nome, indirizzo, mobile no, genere, marchi, aggregati, ecc. In questa situazione, se archiviamo questi dati alle molteplici variabili per ogni studente, il programma diventa molto complesso e aumenta la velocità di esecuzione del programma.

Per ridurre questo problema, introduciamo la struttura. Con l'aiuto della struttura, possiamo raggruppare queste variabili di ogni studente in un'unica variabile.

La struttura è una raccolta di elementi diversi. Dissimile significa che possiamo archiviare valori di tipo di dati diversi come int, char, galleggiante, stringa, ecc.

Se archiviamo le informazioni di uno studente, dobbiamo archiviare il proprio nome, segni, mobile no, ecc. Il nome è una stringa; Un segno è un galleggiante; Il cellulare no è un array intero. Quindi è un gruppo di elementi diversi.

Definizione della struttura significa creare un nuovo tipo di dati, E sappiamo che la creazione di un nuovo tipo di dati significa che utilizziamo qui il tipo di dati non prime.

Come definire una struttura

Data della struttura // Definizione di una struttura;

int d, m, y;
;
Struttura studente // Definizione di un'altra struttura;

int roll_no;
Nome char [30];
Int Age;

La data di cui sopra e lo studente sono nuovi tipi di dati chiamati tipi di dati definiti dall'utente. Questo tipo di tipo di dati deve essere definito nel nostro programma. Poiché il tipo di dati primitivi è definito in C, ma il tipo di dati non prigioniero non è definito in C, deve essere definito dall'utente. Per questo, dobbiamo scrivere una parola chiave chiamata strumento Prima del nome del tipo di dati definito dall'utente.

Consumo di memoria

Nessuna memoria viene consumata per una definizione di struttura. Perché la memoria viene consumata per la dichiarazione di una variabile ma non nel caso di definizione del tipo di dati.

Definizione della struttura significa creare un nuovo tipo di dati; La memoria non viene consumata. La memoria viene consumata al momento della dichiarazione di un particolare tipo di variabile

Dove possiamo definire la struttura

Possiamo definire una struttura come localmente o a livello globale a seconda del requisito del programma.

Come si crea variabili attraverso la struttura

Esempio di programmazione 1:

#includere
Data della struttura // Definizione di una struttura GLOBALE;

int d, m, y;
;
Data della struttura D1;
int main ()

D1.d = 24; // Assegnazione di valori alle variabili membri di D1;
D1.M = 4;
D1.y = 2022;
printf ("data è: %d %d %d", d1.D, D1.M, D1.y);
retun0;

Produzione

Spiegazione

Qui creiamo un tipo di dati di data a livello globale. Per definire un tipo di dati della data, utilizziamo la parola chiave. Ora dichiariamo una variabile D1 senza inizializzazione. All'interno della funzione principale, assegniamo i valori della variabile membro della data; Sono D1.D, D1.M, D1.y. Ora stampiamo i valori.

Esempio di programmazione 2

#includere
Data della struttura // Definizione di una struttura a livello globale;

int d, m, y;
;
int main ()

Struttura Data D1 = 24, 4, 2022;
// Dichiarazione e assegnazione di valori localmente;
printf ("data è: %d %d %d", d1.D, D1.M, D1.y);
restituzione 0;

Produzione

Spiegazione

Qui definiamo il tipo di dati della data a livello globale. All'interno della funzione principale (), dichiariamo e assegniamo una variabile D1 del tipo di dati della data. Quindi questa variabile D1 agisce come una variabile locale. Qui i valori vanno automaticamente alla variabile membro della data. Ora stampiamo la data.

Esempio di programmazione 3

#includere
Data della struttura // Definizione di una struttura a livello globale;

int d, m, y;
;
Data della struttura D1;
int main ()

printf ("Immettere una data:");
scanf (" %d/ %d/ %d" e d1.D, e D1.y, & d1.y); // inserendo data dall'utente;
printf ("data è: %d %d %d", d1.D, D1.M, D1.y);
restituzione 0;

Produzione

Struttura autonoma

La struttura autoferenziale è anche una struttura. È una struttura con puntatori che indica lo stesso tipo di struttura di un membro. Mostriamo un esempio di seguito.

Esempio di programmazione 4

#includere
int main ()

nodo struct

Int Data;
NODE Struct * Link;
;
nodo struct N1;
N1. dati = 5;
N1 . link = null;
nodo struct N2;
N2. Dati = 7;
N2. Link = null;
N1. Link = & n2; // L'indirizzo di N2 è assegnato al collegamento parte di N1.
printf ("Il valore dei dati è: %d", N1. dati ) ;
printf ("Il valore del collegamento è: %d", N1. link -> dati);
restituzione 0;

Produzione

Spiegazione

Il programma di cui sopra è un esempio di struttura autonoma. Qui creiamo un tipo di dati definito dall'utente chiamato nodo. Ha due membri di dati all'interno del suo corpo. Uno è dati; Un altro è collegato. Il collegamento è un puntatore quale tipo è il tipo di nodo. Significa che può contenere solo l'indirizzo dei dati del tipo di nodo. Ora creiamo una variabile N1 che è un tipo di dati del tipo di nodo. Qui assegniamo un valore di tipo int 5. Nella parte collegata, assegniamo null.

Un'altra variabile, b, è anche un tipo di dati del tipo di nodo. 7 e null sono archiviati nei rispettivi membri dei dati. L'aspetto importante è che archiviamo l'indirizzo di B al collegamento di A. Significa che il collegamento di una variabile ora punta alla variabile B. Si chiama struttura autonoma.

Applicazione della struttura autonoma

La struttura autoferenziale è ampiamente utilizzata nel campo dell'elenco dei collegamenti, alberi.

Conclusione

Dal concetto di struttura, abbiamo concluso che il requisito della struttura in C è molto importante. Attraverso la struttura, possiamo creare il nostro tipo di dati in base al requisito del programma. Attraverso la struttura, possiamo archiviare diversi tipi di metadati.