Cabeçalho, Protótipos
Ao longo deste curso, utilizamos consistentemente o arquivo stdio.h
. Este arquivo serve como o cabeçalho padrão de entrada/saída.
Contido nele está o protótipo da função printf()
, uma função que empregamos em todas as lições.
Aqui está um erro intencional para ilustrar um ponto:
Main
12345678//#include <stdio.h> int main() { printf("Using `printf()` without `stdio.h`"); return 0; }
Se você excluir o arquivo stdio.h
, a função printf()
deixará de funcionar. Invocar esta função sem o cabeçalho resultará em um erro.
Compreendendo Arquivos de Cabeçalho
Arquivos de cabeçalho como stdio.h
contêm declarações de variáveis, arrays e protótipos de funções. Eles modularizam o código do seu projeto, permitindo que você anexe componentes conforme necessário. Esta abordagem simplifica seus projetos.
Protótipos de Função
Um protótipo de função é essencialmente uma declaração de função sem sua implementação real. Pense em um protótipo como um "aviso" para o compilador, sinalizando a existência da sua função.
pythonfunction_type function_name(arguments);
Ele se assemelha a uma função padrão, mas sem os detalhes. Observe o ponto e vírgula final (;
). Agora, como lidamos com um protótipo de função em um arquivo de cabeçalho dedicado?
Projetos Multi-Arquivo
Até agora, escrevemos nossas variáveis e funções em um único arquivo, junto com a função main
. No entanto, no desenvolvimento profissional, isso não é o padrão. Vamos criar uma função para estimar a duração de carga/descarga de um capacitor com base em sua capacitância e resistência.
Nosso projeto será segmentado em três arquivos:
func.h
- este armazenará o protótipo da função;func.c
- a implementação da nossa função de cálculo do tempo de carga/descarga do capacitor residirá aqui;main.c
- este arquivo principal será onde todas as funções serão invocadas.
python91234567// it's func.h file#include <stdio.h>double R, C;double chrg_dchrg(double R, double C);
python9123456789// it's func.c file#include "func.h"double chrg_dchrg(double R, double C){double theta = 5 *((R * C) / 1000);return theta;}
python9912345678910111213// it's main.c file#include "func.h"int main(){R = 10;C = 150;printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C));return 0;}
Executar este programa resulta em:
python"Charge/discharge will be 7.50 ms"
Nota
%.2f
especifica que o resultado deve ser exibido com duas casas decimais.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo