Definição extern
Sintaxe:
extern tipo_variável nome_variável
Quando o sistema é separado em vários programas, pode-se ter o problema de acesso a certas variáveis globais, pois a definição da mesma pode estar em um programa fonte e é necessário acessar estas variáveis em outro programa fonte.
Como na Linguagem C deve-se sempre definir uma variável antes de usá-la, quando ocorrer á situação acima descrita deve ser indicado no programa que irá usar a variável que a mesma está definida em outro programa.
Para se fazer isto basta colocar a palavra extern
na frente da definição da variável juntamente com a definição do seu tipo e nome. Feito isto está sendo indicado para o compilador o necessário para que não sejam gerados erros, e indicado que a variável já foi definida em outro arquivo fonte.
Vejas o exemplos do programa principal e programa auxiliar:
/* programa extern_principal.c */ #include <stdio.h> void imprime_soma (void); /* Declaração do protótipo da função. Mesmo que a função não esteja no código fonte, é importante "informar" ao compilador que esta função existe, senão ocorrerá erro na compilação */ int iValor_a; /* Declaração das variáveis públicas, ou seja, elas estarão disponíveis para uso em todo programa */ int iValor_b; int main (void) { int iResultado; printf ("Entre com os valores:"); scanf ("%d %d", &iValor_a, &iValor_b); imprime_soma(); return 0; }
/* programa extern_auxiliar.c */ #include <stdio.h> extern int iValor_a; /* Declarando que EXISTEM, em outro programa, as variáveis públicas, ou seja, elas estarão disponíveis para uso em todo o programa. */ extern int iValor_b; void imprime_soma(void) { printf ("Soma %d\n", iValor_a + iValor_b); /* uso das variáveis públicas */ return; }
— Marcos Laureano 2008/05/13 17:45