Otsikkotiedostot, Prototyypit
Tämän kurssin aikana olemme johdonmukaisesti käyttäneet tiedostoa stdio.h. Tämä tiedosto toimii vakiosyötteen ja -tulosteen otsikkotiedostona. Se sisältää printf()-funktion prototyypin, jota olemme hyödyntäneet jokaisessa oppitunnissa.
Main.c
12345678//#include <stdio.h> int main() { printf("Using `printf()` without `stdio.h`"); return 0; }
Jos jätät stdio.h-tiedoston pois, printf()-funktio ei enää toimi. Tämän funktion kutsuminen ilman otsikkotiedostoa aiheuttaa virheen.
Otsikkotiedostojen ymmärtäminen
Otsikkotiedostot, kuten stdio.h, sisältävät muuttujien, taulukoiden ja funktioprototyyppien määrittelyt. Ne modularisoivat projektikoodin, mahdollistaen osien liittämisen tarpeen mukaan. Tämä lähestymistapa tehostaa projektien hallintaa.
Funktioprototyypit
Funktioprototyyppi on käytännössä funktion määrittely ilman toteutusta. Prototyyppi toimii "ennakkovaroituksena" kääntäjälle, ilmoittaen funktion olemassaolosta.
function_type function_name(arguments);
Se muistuttaa tavallista funktiota, mutta ilman yksityiskohtia. Huomioi lopussa oleva puolipiste (;). Miten funktioprototyyppi sijoitetaan erilliseen otsikkotiedostoon?
Monitiedostoiset projektit
Tähän asti olemme kirjoittaneet muuttujat ja funktiot yhteen tiedostoon, main-funktion yhteyteen. Ammattimaisessa kehityksessä tämä ei kuitenkaan ole tavanomaista. Laaditaan funktio, joka arvioi kondensaattorin lataus-/purkausajan kapasitanssin ja resistanssin perusteella.
Projekti jaetaan kolmeen tiedostoon:
main.c– tämä pääasiallinen tiedosto on paikka, jossa kaikkia funktioita kutsutaan;func.h– tänne tallennetaan funktion esittely;func.c– kondensaattorin lataus-/purkausajan laskentafunktion toteutus sijaitsee tässä tiedostossa.
main.c
function.h
function.c
12345678910#include "func.h" int main() { R = 10; C = 150; printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C)); return 0; }
%.2f määrittää, että tulos näytetään kahden desimaalin tarkkuudella.
Tämän ohjelman suorittaminen tuottaa seuraavan tuloksen:
"Charge/discharge will be 7.50 ms"
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
What does the function to calculate capacitor charge/discharge time look like?
Can you explain how to include and use custom header files in a C project?
Why is it important to separate code into multiple files in C projects?
Awesome!
Completion rate improved to 2.63
Otsikkotiedostot, Prototyypit
Pyyhkäise näyttääksesi valikon
Tämän kurssin aikana olemme johdonmukaisesti käyttäneet tiedostoa stdio.h. Tämä tiedosto toimii vakiosyötteen ja -tulosteen otsikkotiedostona. Se sisältää printf()-funktion prototyypin, jota olemme hyödyntäneet jokaisessa oppitunnissa.
Main.c
12345678//#include <stdio.h> int main() { printf("Using `printf()` without `stdio.h`"); return 0; }
Jos jätät stdio.h-tiedoston pois, printf()-funktio ei enää toimi. Tämän funktion kutsuminen ilman otsikkotiedostoa aiheuttaa virheen.
Otsikkotiedostojen ymmärtäminen
Otsikkotiedostot, kuten stdio.h, sisältävät muuttujien, taulukoiden ja funktioprototyyppien määrittelyt. Ne modularisoivat projektikoodin, mahdollistaen osien liittämisen tarpeen mukaan. Tämä lähestymistapa tehostaa projektien hallintaa.
Funktioprototyypit
Funktioprototyyppi on käytännössä funktion määrittely ilman toteutusta. Prototyyppi toimii "ennakkovaroituksena" kääntäjälle, ilmoittaen funktion olemassaolosta.
function_type function_name(arguments);
Se muistuttaa tavallista funktiota, mutta ilman yksityiskohtia. Huomioi lopussa oleva puolipiste (;). Miten funktioprototyyppi sijoitetaan erilliseen otsikkotiedostoon?
Monitiedostoiset projektit
Tähän asti olemme kirjoittaneet muuttujat ja funktiot yhteen tiedostoon, main-funktion yhteyteen. Ammattimaisessa kehityksessä tämä ei kuitenkaan ole tavanomaista. Laaditaan funktio, joka arvioi kondensaattorin lataus-/purkausajan kapasitanssin ja resistanssin perusteella.
Projekti jaetaan kolmeen tiedostoon:
main.c– tämä pääasiallinen tiedosto on paikka, jossa kaikkia funktioita kutsutaan;func.h– tänne tallennetaan funktion esittely;func.c– kondensaattorin lataus-/purkausajan laskentafunktion toteutus sijaitsee tässä tiedostossa.
main.c
function.h
function.c
12345678910#include "func.h" int main() { R = 10; C = 150; printf("Charge/discharge will be %.2f ms\n", chrg_dchrg(R,C)); return 0; }
%.2f määrittää, että tulos näytetään kahden desimaalin tarkkuudella.
Tämän ohjelman suorittaminen tuottaa seuraavan tuloksen:
"Charge/discharge will be 7.50 ms"
Kiitos palautteestasi!