Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O seguinte programa de origem C consiste em dois arquivos de origem. Ele dá uma visão geral de algumas das várias declarações e definições possíveis em um programa C. As seções posteriores deste livro descrevem como escrever essas declarações, definições e inicializações e como usar palavras-chave C como static e extern. A printf função é declarada no arquivo de cabeçalho C STDIO.H.
As main funções e max são assumidas para estar em arquivos separados, e a execução do programa começa com a main função. Nenhuma função de usuário explícita é executada antes do main.
/*****************************************************************
FILE1.C - main function
*****************************************************************/
#define ONE 1
#define TWO 2
#define THREE 3
#include <stdio.h>
int a = 1; // Defining declarations
int b = 2; // of external variables
extern int max( int a, int b ); // Function prototype
int main() // Function definition
{ // for main function
int c; // Definitions for
int d; // two uninitialized
// local variables
extern int u; // Referencing declaration
// of external variable
// defined elsewhere
static int v; // Definition of variable
// with continuous lifetime
int w = ONE, x = TWO, y = THREE;
int z = 0;
z = max( x, y ); // Executable statements
w = max( z, w );
printf_s( "%d %d\n", z, w );
return 0;
}
/****************************************************************
FILE2.C - definition of max function
****************************************************************/
int max( int a, int b ) // Note formal parameters are
// included in function header
{
if( a > b )
return( a );
else
return( b );
}
ARQUIVO1. C contém o protótipo da max função. Esse tipo de declaração às vezes é chamado de "declaração de encaminhamento" porque a função é declarada antes de ser usada. A definição para a main função inclui chamadas para max.
As linhas que começam com #define são diretivas de pré-processador. Essas diretivas dizem ao pré-processador para substituir os identificadores ONE, TWOe THREE com os números 1, 2e , e 3, respectivamente, em todo o FILE1.C. No entanto, as diretivas não se aplicam ao FILE2. C, que é compilado separadamente e, em seguida, vinculado com FILE1.C. A linha que começa com #include diz ao compilador para incluir o arquivo STDIO. H, que contém o protótipo para a printf função.
As diretivas do pré-processador são explicadas na Referência do pré-processador.
ARQUIVO1. C usa a definição de declarações para inicializar as variáveis a globais e b. As variáveis c locais e d são declaradas, mas não inicializadas. O armazenamento é alocado para todas essas variáveis. As variáveis estáticas e externas, u e v, são automaticamente inicializadas como 0. Portanto, apenas a, b, u, e v contêm valores significativos quando declarados porque são inicializados, explícita ou implicitamente. FICHEIRO2. C contém a definição de função para max. Esta definição satisfaz as chamadas para max em FILE1.C.
O tempo de vida e a visibilidade dos identificadores são discutidos em Tempo de vida, Escopo, Visibilidade e Vinculação. Para obter mais informações sobre funções, consulte Funções.