Regras de escopo
Variáveis Globais são reconhecidas pelo programa inteiro. Estas variáveis são visíveis (isto é, podem ser usadas) no algoritmo principal e por todas as funções.
Variáveis Locais são aquelas definidas dentro de uma função e, portanto somente visíveis (utilizáveis dentro da mesma).
Exemplo:
#include <stdio.h>
#include <stdlib.h>
int a;//variável global
int b; //variável global
void troca();
int main()
{
printf("a:");
scanf("%d",&a);
printf("b:");
scanf("%d",&b);
printf("Antes %d-%d\n",a,b);/* se informarmos a=1 e b=2 teremos a=1 e b=2*/
troca();
printf("Depois %d-%d\n",a,b); );/* se informarmos a=1 e b=2* teremos a=2 e b=1*/
system("Pause");
return 0;
}
void troca()
{int x; //variável local
x=a;
a=b;
b=x;