como foi dito anteriormente, e um bloco de construcao muito util. No C asfuncoes sao flexiveis. A flexibilidade da poder, mas exige cuidado.Funcoes devem ser implementadas, quando possivel, da maneira mais geral possivel.Isto as torna mais faceis de serem reutilizadas e entendidas. Evite, sempre que possivel,funcoes que usem variaveis globais.Se houver uma rotina que deve ser o mais veloz possivel, seria bom implementa-la semnenhuma (ou com o minimo de) chamadas a funcoes, porque uma chamada a uma funcaoconsome tempo e memoria.Um outro ponto importante e que, como ja sabemos um bocado a respeito de funcoes,quando formos ensinar uma das funcoes das bibliotecas do C vamos mostrar, em primeirolugar, o seu prototipo. Quem entendeu tudo que foi ensinado nesta parte sobre funcoes poderetirar inumeras informacoes de um prototipo (tipo de retorno, nome da funcao, tipo dosargumentos, passagem por valor ou passagem por referencia).Sugiro que neste ponto, o leitor leia um arquivo-cabecalho como, por exemplo, ostdio.h ou o string.h. E um bom treino. Estes arquivos podem ser encontrados no diretorioapropriado do compilador que voce estiver utilizando (geralmente o subdiretorio include dodiretorio onde voce instalou o compilador).65Capitulo . 8 (DIRETIVAS DE COMPILACAO)As Diretivas de CompilacaoO pre-processador C e um programa que examina o programa fonte escrito em C eexecuta certas modificacoes nele, baseado nas Diretivas de Compilacao. As diretivas decompilacao sao comandos que nao sao compilados, sendo dirigidos ao pre-processador, que eexecutado pelo compilador antes da execucao do processo de compilacao propriamente dito.Portanto, o pre-processador modifica o programa fonte, entregando para o compiladorum programa modificado. Todas as diretivas de compilacao sao iniciadas pelo caracter #. Asdiretivas podem ser colocadas em qualquer parte do programa. Ja vimos, e usamos muito, adiretiva #include. Sabemos que ela nao gera codigo mas diz ao compilador que ele deveincluir um arquivo externo na hora da compilacao. As diretivas do C sao identificadas porcomecarem por #. As diretivas que estudaremos sao definidas pelo padrao ANSI:#if#else#include#ifdef#elif#define#ifndef#endif#undefProcuraremos ser breves em suas descricoes...A Diretiva includeA diretiva #include ja foi usada durante o nosso curso diversas vezes. Ela diz aocompilador para incluir, na hora da compilacao, um arquivo especificado. Sua forma geral e:#include "nome_do_arquivo" ou#include <nome_do_arquivo>A diferenca entre se usar " " e < > e somente a ordem de procura nos diretorios peloarquivo especificado. Se voce quiser informar o nome do arquivo com o caminho completo, ouse o arquivo estiver no diretorio de trabalho, use " ". Se o arquivo estiver nos caminhos deprocura pre-especificados do compilador, isto e, se ele for um arquivo do proprio sistema(como e o caso de arquivos como stdio.h, string.h, etc...) use < >.Observe que nao ha ponto e virgula apos a diretiva de compilacao. Esta e umacaracteristica importante de todas as diretivas de compilacao e nao somente da diretiva#includeAs Diretivas define e undefA diretiva #define tem a seguinte forma geral:#define nome_da_macro sequencia_de_caracteres66Quando voce usa esta diretiva, voce esta dizendo ao compilador para que, toda vez queele encontrar o nome_da_macro no programa a ser compilado, ele deve substitui-lo pelasequencia_de_caracteres fornecida. Isto e muito util para deixar o programa mais geral. Vejaum exemplo:#include <stdio.h>#define PI 3.1416#define VERSAO "2.02"int main (){printf