Ulteriori informazioni sulla variabile statica in C [con esempio di codifica]

Pubblicato: 2020-10-21

Nel tuo viaggio di programmazione, potresti aver aggirato la maggior parte delle variabili. Sono un aspetto molto importante per qualsiasi programmatore, poiché dichiarare una variabile determina la dimensione, il layout, l'intervallo di valori archiviati nella memoria e l'insieme di operazioni da applicarvi. È il nome dato a un'area di archiviazione che un programma può manipolare. In questo articolo discuteremo di una delle variabili più importanti in C, ovvero la variabile statica .

La parola chiave statica in C è usata abbastanza frequentemente. Una cosa che viene spesso confusa dalla maggior parte dei programmatori è il modo in cui le variabili locali e globali influiscono sull'elettricità statica. In ogni caso, la parola chiave static funziona in modo diverso in termini di dove sono archiviati i dati e come si comportano nel programma. I seguenti sono gli usi principali di una parola chiave statica:

io. Una variabile locale in una funzione o una variabile locale statica: la visibilità è la stessa delle variabili locali automatiche.

ii. Variabile globale in un modulo o variabile globale statica: dichiarata all'inizio di un programma.

iii. Una funzione in un modulo o una funzione statica: esiste in tutto il programma.

IV. Variabile membro o variabile membro statica: accessibile da tutte le istanze di una classe.

v. Un metodo o un metodo statico: accessibile da tutte le istanze di una classe.

Esamineremo tutti e tre i casi d'uso e come cambiano con l'area di archiviazione della variabile e miglioreremo la qualità del codice.

Sommario

Che cos'è una variabile statica?

Nella programmazione, una variabile statica è quella allocata "staticamente", il che significa che la sua durata è durante l'esecuzione del programma. Viene dichiarato con la parola chiave 'static' e mantiene il suo valore nelle chiamate di funzione.

Sintassi:

La sintassi di una variabile statica è:

tipo_dati statico nome_variabile;

Dichiarazione di variabile statica

Quando viene dichiarata una variabile statica , ne viene creata una copia. Lo scopo principale che vengono utilizzati al posto di una variabile locale è che mantengono il valore assegnato nell'ambito in cui è presente. Il programmatore non ha bisogno di inizializzare la variabile più e più volte nel nuovo ambito di un programma. Esiste durante l'intero programma.

Statico, in generale, è un identificatore di classe di archiviazione applicato a qualsiasi tipo di dati. Indica al compilatore di limitare una variabile o una funzione nell'ambito del programma e persiste per tutta la durata del programma. Questa proprietà consente di incapsulare o nascondere le variabili statiche dal resto del programma impedendo qualsiasi accesso involontario. Lo sviluppatore può controllare come si accede alle variabili all'interno di un modulo. Questa è una buona pratica di programmazione.

Leggi: Le oltre 130 domande e risposte per le interviste Java

Variabile statica in un programma

· Una variabile statica rimane nello spazio di memoria durante l'esecuzione dell'intero codice.

· Il valore di inizializzazione predefinito di una variabile statica è zero, anche se non è assegnato, il che non è il caso di una variabile locale.

· È obbligatorio inizializzare la variabile statica usando la parola chiave static in C altrimenti restituirà un errore.

· La variabile statica viene inizializzata solo la prima volta che viene chiamata una funzione.

· In una variabile statica , viene allocata la memoria di una variabile statica .

· Una variabile statica globale non è accessibile all'esterno del programma.

Programma di base sulla variabile statica in C

#include <stdio.h>

int principale()

{

printf(“%d”,func());

printf(“\n%d”,func());

restituire 0;

}

funzione int ()

{

statico conteggio int =0;

contare++;

conteggio dei ritorni ;

}

Qui in questo codice, la variabile count è dichiarata come variabile statica . Ad ogni chiamata di func(), il valore di conteggio si aggiorna a 1. Nella chiamata di funzione successiva, il valore della variabile di conteggio diventa 2. Pertanto, il valore della variabile statica persiste nella chiamata di funzione.

Produzione:

1

2

Differenza tra variabile locale e statica

Sia le variabili locali che quelle statiche vengono utilizzate in modo intercambiabile in un programma. Ecco alcune differenze fondamentali tra i due:

Punti distintivi Variabile locale Variabile statica
Dichiarazione di parole chiave variabili 1. Viene dichiarato da una variabile automatica, ad esempio int a = 1. 1. Viene dichiarato da una variabile statica , ad esempio static int a = 1.
Dichiarazione variabile 2. Viene dichiarato all'interno della funzione. 2. È dichiarato all'interno o all'esterno della funzione.
Creazione variabile 3. Viene creato ogni volta che viene chiamata una funzione. 3. Viene creato solo per la prima chiamata di funzione e la stessa variabile viene utilizzata per ulteriori chiamate.
Inizializzazione delle variabili 4. Viene inizializzato ogni volta che viene chiamata una funzione. 4. Viene inizializzato solo una volta in un programma.
Valore predefinito della variabile 5. Se non viene inizializzato, nella variabile viene memorizzato un valore spazzatura. 5. Se non inizializzato, il valore 0 viene memorizzato in statico per impostazione predefinita.
Terminazione variabile 6. Quando la funzione termina, termina. 6. Se dichiarato all'interno di una funzione, è accessibile solo in quella funzione. L'ambito è limitato a quella funzione e la sua durata è fino al termine del programma. Se dichiarata al di fuori della funzione, la variabile sarà globale e accessibile da qualsiasi funzione nel file. L'ambito è il file, ma la durata è fino al termine del programma.

Con questa tabella, è chiaro perché le variabili statiche sono preferite alle variabili locali.

Codice composto da variabili locali e statiche

#include <stdio.h>

int principale() {

auto int a = -15;

int statico b = 5;

printf(“Il valore della variabile automatica a è %d\n”, a);

printf(“Il valore della variabile statica b è %d\n”,b);

se(a!=0)

printf(“La somma delle variabili statiche e automatiche è %d\n”,(b+a));

restituire 0;

}

Uscita del programma:

Il valore della variabile automatica è -15

Il valore della variabile statica è 5

La somma della variabile statica e auto è -10

Leggi anche: C Idee per progetti

Sommario

La parola chiave static è ampiamente utilizzata per molte funzionalità che offre nella programmazione C. Il suo utilizzo principale è limitare l'ambito delle variabili definite in una funzione o in un modulo. Gli sviluppatori possono sperimentare la sicurezza, poiché le variabili e le funzioni possono essere nascoste al programma esterno tramite l'uso della variabile statica . In molti moderni linguaggi orientati agli oggetti, l'uso di statico è sostituito da privato e pubblico.

Se sei interessato a saperne di più e hai bisogno del tutoraggio di esperti del settore, dai un'occhiata al diploma PG di upGrad & IIIT Banglore in sviluppo software full-stack .

Prepararsi per una carriera del futuro

APPRENDIMENTO AFFIDABILE DEL SETTORE - CERTIFICAZIONE RICONOSCIUTA DEL SETTORE.
Iscriviti oggi