La richiesta di precisazioni era più giustificata, dato che, se si stesse parlando di una classe C++, la spiegazione cambierebbe molto. Comunque per rendere visibile la variabile a tutto il file (o a tutta "l'unità di compilazione", per essere puntigliosi), ti basta dichiararla al di fuori dello scope di qualunque funzione; in genere si usa mettere le variabili globali in testa al file, subito dopo gli include.
codice:
#include <stdio.h>
int VariabileGlobale;
void Quadrato(void);
int main(void)
{
printf("%s", "Inserisci un numero intero: ");
if(scanf("%d", &VariabileGlobale)!=1)
{
fputs("Valore non valido.\n",stderr);
return EXIT_FAILURE;
}
printf("VariabileGlobale impostata a %d", VariabileGlobale);
Quadrato();
return EXIT_SUCCESS;
}
void Quadrato(void)
{
printf("Il quadrato di %d è %d.\n", VariabileGlobale, VariabileGlobale*VariabileGlobale);
}
Tieni comunque conto che è considerata cattiva pratica di programmazione usare variabili globali quando non è necessario, spesso può essere più ragionevole passare alle altre funzioni i dati in questione come parametri.
codice:
#include <stdio.h>
void Quadrato(int Numero);
int main(void)
{
int numero;
printf("%s", "Inserisci un numero intero: ");
if(scanf("%d", &numero)!=1)
{
fputs("Valore non valido.\n",stderr);
return EXIT_FAILURE;
}
printf("numero impostata a %d", numero);
Quadrato(numero);
return EXIT_SUCCESS;
}
void Quadrato(int Numero)
{
printf("Il quadrato di %d è %d.\n", Numero, Numero*Numero);
}