Sommario:
Video: Corso di Programmazione: Impara a programmare da zero | Alberto Olla 2024
A volte nella programmazione C, una variabile deve essere simile al servizio di telefonia cellulare: disponibile ovunque. La variabile può anche essere utilizzata da qualsiasi funzione in qualsiasi momento. Questo tipo di variabile può essere chiamato una variabile universale . Potrebbe essere definita una variabile mondiale . Ma in C, viene indicato come una variabile globale .
Come utilizzare le variabili globali
Le variabili globali risolvono problemi specifici rendendo universale la dichiarazione delle variabili. In questo modo, qualsiasi funzione nel programma può accedere alla variabile. Non deve essere passato o restituito da una funzione.
Lancio della tua età intorno mostra come viene dichiarata e utilizzata una variabile globale. Le variabili globali età e virgola mobile sono influenzate da entrambe le funzioni. Possono essere passati a quelle funzioni, ma entrambi i valori non possono essere restituiti. (Le funzioni C restituiscono solo un valore.) Pertanto, la variabile globale viene utilizzata come soluzione.
TOSSING YOUR AGE INTORNO
#include void half (void); vuoto due volte (vuoto); int età; piedi galleggianti; int main () {printf ("Quanti anni hai:"); scanf ("% d", & age); printf ("Quanto sei alto (in piedi):"); scanf ("% f", & feet); printf ("Hai% d anni e% 1 piedi e mezzo", età, piedi); metà(); due volte(); printf ("Ma in realtà non hai% d anni o% 1 piedi e mezzo", età, piedi); return (0);} void half (void) {float a, h; a = (float) età / 2. 0; printf ("La metà della tua età è%. 1f. n", a); h = piedi / 2. 0; printf ("Metà altezza è%. 1f. n", h);} vuoto due volte (vuoto) {età * = 2; printf ("Due volte la tua età è% d. n", età); piedi * = 2; printf ("Twice your height is%. 1fn", feet);}
Line 6 dichiara la variabile globale int age e la variabile float feet . Queste sono variabili globali perché sono dichiarate al di fuori di qualsiasi funzione, lassù in #include, #define e terra di prototipazione. Le variabili vengono quindi utilizzate in ogni funzione. I loro valori sono accessibili attraverso il codice. Anche quando tali valori vengono modificati nella funzione twice (), la funzione main () utilizza i nuovi valori.
Tieni presente che due istruzioni printf () nella funzione main () racchiudono il loro testo in Tossing Your Age Around. Non è necessario avvolgere quelle istruzioni in un editor di testo; semplicemente scrivili tutti su un'unica riga.
Esercizio 1 : Digita il codice sorgente per Tossing Your Age Around nel tuo editor, creando un nuovo programma. Costruisci ed esegui.
Non essere pigro nell'usare le variabili globali! Se puoi passare un valore a una funzione, fallo! È corretto Troppi programmatori indolenti dichiarano tutte le loro variabili globali per "risolvere il problema."Questo è sciatto e improprio.
I buoni esempi di variabili globali includono informazioni che tutte le funzioni del programma dovrebbero conoscere, come le informazioni dell'utente o se si è online o se il testo è visualizzato o nascosto. In tal caso, considera di rendere globali queste variabili.
Come creare una variabile di struttura globale
Un esempio migliore di utilizzare una variabile globale e una situazione in cui le variabili globali sono completamente necessarie, è quando si passa una struttura a una funzione. In tal caso, è necessario dichiarare la struttura come globale in modo che tutte le funzioni possano accedere alle variabili di quel tipo di struttura.
Non lasciare che l'enorme lunghezza di Passare una Struttura a una Funzione ti intimidisca! La maggior parte dei programmi "reali" che scriverai saranno molto più lunghi!
PASSARE UNA STRUTTURA AD UNA FUNZIONE
#include #include #include #define SIZE 5 struct bot {int xpos; int ypos;}; struct bot initialize (struct bot b); int main () {struct bot robots [SIZE]; int x; srandom ((unsigned) time (NULL)); for (x = 0; xPer passare una struttura a una funzione, la struttura deve essere dichiarata globalmente, cosa che avviene tra le linee 7 e 10. Ciò deve accadere anche prima che la funzione sia prototipata, che si verifica alla riga 12.
La funzione initialize () viene eseguita dalle righe da 30 a 41. La struttura viene passata alla funzione e restituita. Si noti che la variabile di struttura deve essere completamente definita come argomento. Sulla riga 30, alla funzione viene assegnato il nome della variabile b all'interno della funzione.
L'istruzione return della riga 40 restituisce la struttura alla funzione chiamante.Infatti, la funzione initialize () è definita come un tipo di funzione bot della struttura.Questo è il tipo di valore restituisce.
Esercizio 2 : Avvicina il tuo coraggio al punto in cui si attacca e digita tutte le righe del codice sorgente da Passaggio di una struttura a una funzione nel tuo editor. Crea ed esegui.
L'output mostra come l'array della struttura è stato passato (un elemento alla volta) a una funzione, modificata nel func zione, e quindi restituito.