Ferramentas do usuário

Ferramentas do site


extern
no way to compare when less than two revisions

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.


extern [2023/09/12 16:14] (atual) – criada - edição externa 127.0.0.1
Linha 1: Linha 1:
 +====== Definição extern ======
 +Sintaxe:
  
 +''extern [[tipos_dados|tipo_variável]] [[variavel_definicao|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:
 +<code c>
 +/* 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;
 +}
 +
 +</code>
 +
 +
 +<code c>
 +/* 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;
 +}
 +</code>
 +
 + --- //[[marcos@laureano.eti.br|Marcos Laureano]] 2008/05/13 17:45//
extern.txt · Última modificação: 2023/09/12 16:14 por 127.0.0.1