Come passare una struttura a una funzione in c

Come passare una struttura a una funzione in c
Una struttura è stata ampiamente utilizzata come tipo di dati definito dall'utente nella lingua C. Lo scopo di utilizzare le strutture in C è creare un singolo tipo di dati che verrebbe utilizzato ulteriormente per raggruppare varie variabili di tipo di dati o elementi in un tipo. La struttura è stata utilizzata come variabile globale in modo che tutte le funzioni possano accedervi facilmente. Ciò significa che non può essere dichiarato nel metodo principale in modo da poterlo usare ovunque.

Sintassi struct:

La dichiarazione della struttura è mostrata nell'immagine seguente. Si inizia con la parola chiave "struct" insieme a qualsiasi nome di struttura che è stato dato. All'interno del corpo di una struttura, possiamo definire molte variabili di qualsiasi tipo. Il corpo della struttura sarebbe chiuso con ";". Per passare una funzione, useremo due metodi in questa guida. Diamo un'occhiata a entrambi i metodi.

Esempio 01: Passa la struttura a una funzione per valore

Il primo metodo per passare una struttura a una funzione è tramite il valore. Usiamo questo metodo per creare un file C nella shell usando una query touch.

$ touch exp.C

Dopo aver creato un file, devi aprirlo in alcuni editor, io.e., Editor Nano GNU, usando il comando indicato di seguito.

$ nano exp.C

Dopo l'apertura del file, scrivere il codice all'interno del file come mostrato nell'immagine. La prima riga contiene l'intestazione. Una struttura "umana" è stata dichiarata con due variabili. Uno è la variabile del carattere "nome" della dimensione "30". Un altro è una variabile di tipo intero usato per conservare l'età di un essere umano. L'input è stato fornito da un utente in fase di esecuzione utilizzando il metodo Scanf. Questo input è stato salvato alle variabili della struttura usando gli oggetti. Successivamente, la struttura è stata passata al metodo definito dall'utente () come argomento. È una funzione chiamata al metodo show (). Il metodo Show ha assunto la struttura nel suo parametro come valore. I valori variabili della struttura sono stati visualizzati sulla console tramite l'istruzione printf utilizzata all'interno della funzione definita dall'utente ().

Salva il file utilizzando il tasto di scelta rapida Ctrl+S. Successivamente, sono tornato al terminale usando il collegamento "Ctrl+X". Dobbiamo prima compilare il codice sopra indicato. Il compilatore "GCC" è stato utilizzato a questo scopo. Alla fine, ha luogo l'esecuzione di un file. L'utente ha aggiunto il suo nome ed età. La struttura è stata approvata per mostrare () il metodo come valore. I valori della struttura sono stati visualizzati di seguito.

$ GCC Exp.C
$ . /UN.fuori

L'output riuscito può essere visto sulla finestra del terminale di Ubuntu 20.04.

Esempio 02: Passa la struttura a una funzione per riferimento

Ora, iniziamo con questa illustrazione. All'interno di questo esempio, esamineremo la struttura che verrà passata a un metodo definito dall'utente tramite riferimento. In questo metodo, l'intera struttura o i valori non sono stati passati a un'altra funzione. L'indirizzo di memoria della struttura della variabile verrebbe passato al metodo come riferimento. Quindi, abbiamo aperto lo stesso file, "Exp.c "per aggiornarlo. Incluso l'intestazione standard input-output. Abbiamo creato una nuova struttura denominata "cal" con due variabili di tipo intero N1 e N2. È stato creato l'oggetto di riferimento della struttura "cal". Il prototipo della funzione del metodo "Sum ()" è stato dichiarato prima del metodo principale.

La funzione principale contiene il metodo scanf () per contrattare l'input dall'utente al momento dell'esecuzione. I valori sono stati passati alle variabili della struttura mediante riferimento usando i loro indirizzi di memoria. Il segno "&" è stato utilizzato qui per vincere gli indirizzi di memoria delle variabili della struttura con i valori inseriti dall'utente. L'indirizzo e i valori di un oggetto variabile "C" e "totale" sono stati passati alla funzione "somma" come riferimento.

La funzione "somma" ha ottenuto i valori delle variabili della struttura N1 e N2 per riferimento dell'oggetto "C" e aggiungendole. I valori risultanti sono stati salvati nella variabile N1. Il metodo principale visualizza la somma di entrambe le variabili.

Compila ed esegui il codice. L'utente ha aggiunto due numeri e la somma di entrambi i numeri è stata visualizzata. Il GCC e “A.I comandi fuori "sono stati utilizzati qui.

$ GCC Exp.C
$ . /UN.fuori

L'output riuscito può essere visto sulla finestra del terminale di Ubuntu 20.04.

Conclusione:

Questo articolo contiene l'implementazione di una struttura di passaggio a una funzione definita dall'utente in un linguaggio C. A questo scopo sono stati utilizzati due approcci, io.e., per valore e riferimento. Mentre impari come passare una struttura per funzionare nel linguaggio di programmazione C, è possibile utilizzare entrambi i metodi. Speriamo che questo articolo ti aiuti al meglio per comprendere il concetto di passaggio di struttura a qualsiasi funzione definita dall'utente nella programmazione C.