Olá e bem-vindo.
Nesta palestra, quero falar sobre a declaração de inclusão.
E então, novamente, desde o nosso primeiro desafiar
nossa primeira exposição ao código ce programa c, você deve ter notou esta declaração de inclusão.
Está na linha oito aqui neste exemplo, e este
é nosso programa c básico de projeto de desafio de exemplo.
Você vê que inclui.
E agora porque aprendemos sobre o pré-processador, sabemos
que é uma diretiva do pré-processador porque temos aquele símbolo de libra.
Qualquer coisa que comece com o o símbolo de libra
antes de qualquer outro espaço é um comando do pré-processador, uma diretiva de pré-processador.
E então sabemos que a linha oito inclui A palavra-chave especial com o símbolo
da libra é uma diretiva pré-processada.
Agora eu quero explicar para você o que exatamente isso está fazendo?
O que isto significa?
Novamente, este é um conceito básico em c sobre o qual precisamos conversar desde
o início, porque todo programa em c tem.
É muito semelhante se você estiver familiarizado com java com a instrução de importação.
Mas vamos descrever isso em detalhes agora em alguns slides, mas você verá
isso em todos os seus programas c.
Portanto, a declaração de inclusão é um diretiva do pré-processador, por causa desse
símbolo de libra, sabemos disso.
E chamamos isso de declaração como contrário a uma diretiva sem
motivo real, apenas porque é comum usar esse termo em linguagem de programação,
mas é uma diretiva tecnicamente.
E novamente, o exemplo em nosso programa estava incluindo
algo nesses colchetes angulares.
Portanto, vemos que inclui a palavra-chave e então vemos esse stdio. h.
E então este é um exemplo.
Este é o que nós usado em nosso primeiro desafio.
Não é estritamente parte do programa executável.
No entanto, o programa não funcionará sem ele.
Nós sabemos que é um diretiva pré-processada.
Realmente não faz muito como tanto quanto como o programa funciona.
É apenas dizer ao compilador antes de ser executado, ei, estávamos fazendo algo aqui
com este include.
E então, se você não tem lá, o compilador vai
reclamar e lançar erros.
Então você precisa disso.
O símbolo da libra indica que é uma diretiva de pré-processamento.
Nós conversamos sobre isso, que é uma instrução para o seu
compilador fazer algo antes compilar o código-fonte.
Existem muitos pré-processamento diretivas, e demos alguns exemplos em nossa
aula de pré-processamento.
Falamos sobre constantes, declarações definidas.
Conversamos sobre se e mais e assim por diante, diferentes das diretivas
de pré-processamento condicional.
Mas este é um dos mais comumente usados, o include.
E então, novamente, essas diretivas podem estar em qualquer lugar em seu código-fonte, mas eles
geralmente estão no topo.
No incluir especificamente, este A diretiva de inclusão do pré-processador é muito semelhante à
instrução de importação em java, se você estiver familiarizado com isso.
Mas o que isso significa?
Então, no exemplo acima aqui com o símbolo de inclusão de libra stdio. h, isso está dizendo ao seu
compilador para incluir parte do conteúdo do seu programa no
arquivo com esse nome.
Portanto, há um nome de arquivo que existe em algum lugar chamado stdio. h.
E o que a diretriz está dizendo é meu programa atual que
contém a diretiva precisa de alguns dos conteúdos dentro deste arquivo para compilar.
Então, especificamente, o include terá nomes de arquivo que terminam
em. h.
Eles são chamados de arquivos de cabeçalho.
Eles são chamados de arquivos de cabeçalho porque geralmente são incluídos
no início do arquivo de origem.
É uma das primeiras coisas que você faz é incluir todos os seus arquivos de cabeçalho.
E novamente, este pré-processador diretiva está
dizendo que eu quero parte do conteúdo desse arquivo.
Não é um arquivo c.
Nós sabemos que arquivos que terminam em um . c são arquivos de origem c.
Então o . tem que ser outra coisa, e é.
É um arquivo de cabeçalho.
E tem isso. extensão h.
Então vamos falar sobre o que é um arquivo de cabeçalho.
Arquivos de cabeçalho definem informações sobre algumas das funções
fornecidas por esse arquivo.
E eu vou te dar um exemplo de alguns do conteúdo em um arquivo de cabeçalho.
Mas, primeiro, eles estão definindo alguns informações sobre algum código-fonte.
E especificamente para o nosso exemplo com isso incluído stdio. h, isso inclui um cabeçalho de
biblioteca padrão c.
Então lembre-se, eu disse você sobre bibliotecas.
Bibliotecas são apenas adicionais funcionalidade que já está escrita para você
e c que você pode incluir em seu programa para que
você não precise reescrevê-lo.
Então, novamente, exemplos de bibliotecas são leitura e gravação no console, exibindo saída,
leitura e escrever arquivos, todos os tipos de coisas diferentes fazendo
código de rede, muitos muitas bibliotecas diferentes por aí.
Mas stdio. h é uma biblioteca padrão c.
O que isso significa é que vem com a
linguagem de programação c e fornece funcionalidade para exibir saída entre muitas outras coisas.
Então, stdio. h, é um arquivo de cabeçalho.
Ele define algumas funcionalidades que o compilador precisa entender antes de
poder realmente usá-lo.
Então, especificamente stdio. h contém informações sobre printf.
E então vamos conversar sobre printf na próxima
aula, que nos ajuda a exibir a saída, mas printf é uma função
que está no stdio. h arquivo de cabeçalho.
E também contém muitas outras funções.
Stdio é abreviação de saída de entrada padrão.
Portanto, esta biblioteca está descrevendo ele contém funcionalidade para lidar com
entrada e saída.
E então este é o conceito de usar um nome significativo.
Não queremos chamar isso biblioteca Jason ou Jason. h porque isso não
é significativo.
Usamos stdio. h porque está dizendo padrão io.
Entrada e saída padrão, e sabemos que, essa biblioteca contém todos os tipos de
funcionalidade para importação alfa.
Especificamente funcionalidade que queremos usar em nosso programa de desafio, nosso primeiro programa
de exemplo é que queremos usar esta função chamada printf,
que nos permite exibir a saída para o console.
E assim incluindo este stdio. h em nosso código-fonte, estamos dizendo para usar esta
funcionalidade deste printf, precisamos incluir este arquivo.
Portanto, os disparos de cabeçalho irão especificar informações que o compilador
usa para integrar e utilizar qualquer reutilização código, quaisquer funções dentro de um programa.
Então você vai usar muitos muitos arquivos de cabeçalho de biblioteca padrão
diferentes e há muitos lá fora, stdio. h é apenas um.
Há novamente arquivos de cabeçalho que definem funcionalidade ou protótipos de função
para código de rede, código de soquete.
Mais uma vez, vamos passar por um muitos deles, strings para palavras completas
e coisas assim.
Mas, além do padrão c biblioteca nas diferentes bibliotecas que vêm com a programação c
idioma, você também pode criar seus próprios arquivos de cabeçalho
e será criando seus próprios arquivos de cabeçalho porque os arquivos de
cabeçalho permitem a reutilização do software.
Eles permitem que você reutilize funcionalidade escrita em c.
Então, em algum lugar os designers de c escreveram todo esse código c que lê e grava
dados e lida com entrada e saída.
Eles não querem este novo programador c ter que escrever seus próprios.
Então eles vão escrever para você,
e eles vão dizer que você pode usá-lo.
E a maneira que você usa é você inclui o arquivo de cabeçalho.
E então você, como seu próprio desenvolvedor, você pode escrever algum código em um grande, grande
programa, milhares de arquivos que você deseja ser usado em outros arquivos.
E então você escreverá seus próprios arquivos de cabeçalho.
E os arquivos de cabeçalho, novamente, vão definir protótipos
de funções, constantes diferentes, todos os tipos de coisas diferentes
que vão ajudar o outro arquivo que pode usar seu programa, ajudará
a compilar seu programa.
Portanto, é uma reutilização de software técnica essencialmente.
Então, vamos incluir este io padrão. arquivo de cabeçalho em um programa
sempre que precisarmos usar a função printf da
biblioteca padrão, é necessária.
Se você não incluiu isso, ele não irá compilar.
Então, sempre que você estiver usando determinada funcionalidade, você
deve usar o include.
A sintaxe no que diz respeito aos arquivos de cabeçalho vá, eles diferenciam maiúsculas de minúsculas.
Sensibilidade a maiúsculas e minúsculas significa maiúsculas ou minúsculas.
Importa se você faça um ou outro.
Então você deve sempre escreva-os em letras minúsculas.
Seus arquivos de cabeçalho devem estar em minúsculas, porque caso contrário,
certos sistemas podem interpretar eles têm um significado diferente.
Existem duas maneiras de incluir arquivos de cabeçalho em um programa.
Você pode usar colchetes angulares como libra incluem
Jason. he colchetes angulares.
E o que isso geralmente significa é que é dizer ao pré-processador para procurar
um arquivo em algum tipo de diretório do sistema.
Geralmente é uma biblioteca padrão que vem com a linguagem de programação c.
Você também pode usar aspas duplas.
Aspas duplas geralmente significam é um arquivo de cabeçalho definido pelo usuário.
É aquele que você criou como um desenvolvedor que não
veio com a linguagem de programação c, mas você deseja ter esse cabeçalho
lá porque deseja reutilizar algum código.
Então também vai dizer procure no diretório atual.
Cada compilador c que está em conformidade para o padrão C11 terá
um conjunto de cabeçalhos padrão arquivos fornecidos com ele.
Estes são apenas arquivos de cabeçalho que representam bibliotecas.
Funcionalidade C que vem com o idioma.
Quando você usa a diretiva include, é uma prática comum usar as outras diretivas de pré-processador se não
localizar e definir, de modo que você não inclua o arquivo mais
de uma vez.
Isso é para eficiência.
Então, se o seu programa estiver usando printf, por exemplo, exibindo a
saída na tela, você deseja dizer ao seu programa, Ei, preciso incluir
essa funcionalidade adicional na biblioteca padrão.
Você não quer contar para inclua-o mais de uma vez porque o
pré-processador fará muitos coisas que não precisa fazer.
Então, normalmente você use se não for definido.
Então você verá um pouco disso em alguns dos exemplos
que forneço onde envolvo os includes nestes se não define e define declarações.
Aqui está um exemplo de arquivo de cabeçalho em seu conteúdo.
Você pode ter algum arquivo de cabeçalho, tem alguns comentários, pode
conter outras coisas.
Principalmente tem função protótipos nele, mas pode ter
constantes, pode ter typedefs.
Estes são alguns conceitos que não entendemos ainda.
Mas estou apenas tentando ilustrar tentando ajudá-lo a entender que
ele contém muitas coisas diferentes.
Mas novamente para o nosso stdio. h, tem algo lá chamado printf que define a função printf para
que, quando ligarmos, possamos encontrar o código de implementação
para isso.
Então, aqui estão alguns protótipos de funções.
Os protótipos de funções são apenas nomes de funções.
Nós sabemos o que é uma função felizmente, agora, é apenas
uma forma de agrupar o código.
Vamos falar sobre funções com muito mais detalhes posteriormente.
Portanto, um arquivo de cabeçalho pode incluir muitas, muitas coisas diferentes.
Pode incluir diretivas definidas, constantes, declarações de estrutura.
Esta é novamente uma maneira de agrupar diferentes variáveis, agrupar dados diferentes.
As declarações Typedef têm a ver com os tipos de dados.
Falaremos mais sobre isso.
Mas os protótipos de função são realmente o importante.
Eles estão dizendo a você como funciona são definidos, para que o compilador possa gerar o
código de que precisa.
O código executável vai em um arquivo de código-fonte.
O arquivo do código-fonte termina no . extensão c.
Código executável normalmente não entra em um arquivo de cabeçalho.
Existem algumas exceções.
Quando você quer fazer as coisas inline o que é novamente
uma questão de eficiência quando você pode
colocar código-fonte em arquivos de cabeçalho, mas normalmente a. arquivo h, um o arquivo de cabeçalho não conterá código de implementação.
Vai conter linhas de código apenas para definições.
Tudo bem nao esta indo para haver qualquer lógica lá.
Serão apenas definições.
Esta função existe.
Essa função existe.
Essas constantes existem.
Essas diferentes estruturas existem.
Eles não dizem como este código está fazendo o que está fazendo.
Ele está apenas dizendo a você que está lá.
É necessário para o compilador para gerar o link.
Ok, então você vai crie seus próprios arquivos de cabeçalho.
Você vai usar o cabeçalho do sistema arquivos para funcionalidade adicional.
É um conceito que você precisa entenda antes de prosseguir com a
escrita de programas em C porque você verá esta
diretiva de inclusão em todos os programas.
E é só dizer ao programa novamente que estamos incluindo um código
adicional em algum lugar.
Estamos incluindo definição adicional código para que agora
possamos invocar essas funções diferentes neste código diferente em nosso programa c.
Espero que faça sentido.
Novamente, não é um verdadeiro conceito complicado.
Estamos incluindo código adicional.
É muito intuitivo, mas examinaremos isso e forneceremos mais
exemplos à medida que avançamos.
Obrigada.