auto e ambito locale
Variabili a livello di blocco
auto e ambito locale è una lezione C Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C Academy include 4 lezioni in totale.
Che cos’è l’ambito
L’ambito è la regione del codice in cui un nome è visibile. In C, le variabili dichiarate all’interno di un blocco sono visibili solo in quel blocco.
#include <stdio.h>
int main(void) {
int x = 5;
printf("x = %d\n", x);
return 0;
}La classe di memoria auto
Le variabili locali sono auto per impostazione predefinita. La parola chiave viene scritta raramente perché è implicita per ogni variabile con ambito di blocco.
#include <stdio.h>
int main(void) {
auto int n = 42;
printf("n = %d\n", n);
return 0;
}Ambito di blocco
Una coppia di parentesi graffe crea un nuovo blocco. Le variabili al suo interno cessano di esistere quando il blocco termina.
#include <stdio.h>
int main(void) {
{
int inner = 10;
printf("inner = %d\n", inner);
}
return 0;
}Durata automatica
Una variabile auto viene creata quando si entra nel suo blocco e distrutta quando si esce dal blocco. Questa è la sua durata.
#include <stdio.h>
int main(void) {
for (int i = 0; i < 2; i++) {
int fresh = i * 10;
printf("fresh = %d\n", fresh);
}
return 0;
}Nascondimento
Una variabile interna può nascondere una variabile esterna con lo stesso nome. All’interno del suo blocco prevale il nome interno.
#include <stdio.h>
int main(void) {
int x = 1;
{
int x = 99;
printf("inner x = %d\n", x);
}
printf("outer x = %d\n", x);
return 0;
}I parametri delle funzioni sono locali
Anche i parametri sono variabili locali. Esistono solo mentre la funzione è in esecuzione.
#include <stdio.h>
int square(int n) {
return n * n;
}
int main(void) {
printf("%d\n", square(6));
return 0;
}Variabili locali non inizializzate
Una variabile auto non viene azzerata automaticamente. Leggerla prima di assegnarle un valore produce un valore casuale. La inizializzi sempre.
#include <stdio.h>
int main(void) {
int x = 0;
x = x + 5;
printf("x = %d\n", x);
return 0;
}Locali per ogni chiamata
Ogni chiamata a una funzione riceve una nuova copia delle proprie variabili locali.
#include <stdio.h>
void greet(void) {
int count = 1;
printf("count = %d\n", count);
}
int main(void) {
greet();
greet();
return 0;
}Perché le variabili locali sono utili
L’ambito locale mantiene le variabili isolate, evitando interferenze accidentali tra le diverse parti del programma.
#include <stdio.h>
int main(void) {
int a = 3;
{
int b = 4;
printf("a + b = %d\n", a + b);
}
return 0;
}Blocchi annidati
I blocchi possono essere annidati. I blocchi interni possono leggere le variabili esterne, ma i blocchi esterni non possono leggere quelle interne.
#include <stdio.h>
int main(void) {
int outer = 1;
{
int middle = 2;
{
int inner = 3;
printf("%d\n", outer + middle + inner);
}
}
return 0;
}Ambito e cicli
Una variabile dichiarata nell’intestazione di un for ha un ambito limitato al solo ciclo.
#include <stdio.h>
int main(void) {
int sum = 0;
for (int i = 1; i <= 4; i++)
sum += i;
printf("sum = %d\n", sum);
return 0;
}Verifica rapida
Verifichi la Sua comprensione di auto e dell’ambito locale.
Riepilogo: auto e ambito locale
Ha imparato come si comportano le variabili locali.
- Le variabili con ambito di blocco sono
autoper impostazione predefinita - La loro durata è legata al blocco
- I nomi interni possono nascondere quelli esterni
- Le variabili locali non vengono inizializzate automaticamente
- Ogni chiamata a una funzione riceve nuove variabili locali
Domande Frequenti
La lezione «auto e ambito locale» è gratuita?
Sì — il testo completo di «auto e ambito locale» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C Academy, passa a CoddyKit PRO. Il corso C Academy include 4 lezioni in totale.
Cosa imparerò in «auto e ambito locale»?
Variabili a livello di blocco Eserciti C Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C Academy?
Non è richiesta alcuna esperienza precedente. C Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «auto e ambito locale»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C Academy?
Sì. Ogni lezione C Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- auto e ambito locale
- Variabili static
- extern e globale
- register e const