🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Scope Variabili in C

Codegrind TeamJul 12 2024

Ecco degli esercizi semplici con soluzione per praticare la gestione dello scope delle variabili in C.

Esercizio 1: Variabili Locali

Dichiarare e utilizzare una variabile locale all'interno di una funzione.
#include <stdio.h>

void funzione() {
    int variabile_locale = 10;
    printf("Variabile locale: %d\n", variabile_locale);
}

int main() {
    funzione();
    return 0;
}

Esercizio 2: Variabili Globali

Dichiarare e utilizzare una variabile globale.
#include <stdio.h>

int variabile_globale = 20;

void funzione() {
    printf("Variabile globale: %d\n", variabile_globale);
}

int main() {
    funzione();
    return 0;
}

Esercizio 3: Variabili Statiche

Dichiarare e utilizzare una variabile statica all'interno di una funzione.
#include <stdio.h>

void funzione() {
    static int variabile_statica = 0;
    variabile_statica++;
    printf("Variabile statica: %d\n", variabile_statica);
}

int main() {
    funzione();
    funzione();
    funzione();
    return 0;
}

Esercizio 4: Scope dei Blocchi

Utilizzare una variabile all'interno di un blocco di codice.
#include <stdio.h>

int main() {
    int x = 10;

    {
        int x = 20;
        printf("Valore di x all'interno del blocco: %d\n", x);
    }

    printf("Valore di x all'esterno del blocco: %d\n", x);

    return 0;
}

Esercizio 5: Parametri di Funzione

Passare variabili come parametri a una funzione.
#include <stdio.h>

void funzione(int a, int b) {
    printf("a = %d, b = %d\n", a, b);
}

int main() {
    int x = 5, y = 10;
    funzione(x, y);
    return 0;
}

Esercizio 6: Variabili Automatiche

Utilizzare variabili automatiche (comportamento predefinito).
#include <stdio.h>

void funzione() {
    auto int x = 10; // 'auto' è implicito e può essere omesso
    printf("Variabile automatica: %d\n", x);
}

int main() {
    funzione();
    return 0;
}

Esercizio 7: Variabili Esterne

Dichiarare e utilizzare una variabile esterna in più file (dichiarazione separata).

file1.c

#include <stdio.h>

extern int variabile_esterna;

void funzione() {
    printf("Variabile esterna: %d\n", variabile_esterna);
}

int main() {
    variabile_esterna = 30;
    funzione();
    return 0;
}

file2.c

int variabile_esterna;

Esercizio 8: Variabili Register

Utilizzare una variabile register per ottimizzare l'accesso.
#include <stdio.h>

int main() {
    register int x = 10;
    printf("Variabile register: %d\n", x);
    return 0;
}