Tiedosto mjonot.h voisi olla vaikkapa seuraavanlainen:
/* Makro jolla saadaan muuttujan nimi ja koko peräkkäin */ #define N_S (nimi) nimi,sizeof(nimi) /****************************************************************************/ /* vakiot syötön onnistumiselle */ #define SYOTTO_OK 2 #define EI_MAHDU 1 #define OLETUS 0 #define TIEDOSTO_LOPPU - 1 #define VIRHE_SYOTOSSA - 2 extern char *VALIMERKIT; /****************************************************************************/ char *tee_jono(char *); int f_lue_jono(FILE *, char *, int); int lue_jono(char *, int ); ... int wildmat(register char *, register char *);
Tämä tiedosto on ehkä helpointa tehdä kopioimalla kaikki alkuperäiset aliohjelmat tiedostoon ja tämän jälkeen tuhoamalla aliohjelmien suoritusosat. On olemassa myös ohjelmia, jotka tekevät tiedostosta näitä prototyyppitiedostoja.
Huomattakoon, että myös seuraavia muotoja voi esiintyä .h - tiedostoissa:
int lue_jono(char *jono, int max_pituus); ... extern int lue_jono(char *jono, int max_pituus); ... int lue_jono(char *, int); ... extern int lue_jono(char *, int);
Funktioiden yhteydessä extern oleminen tai puuttuminen ei kuitenkaan haittaa mitään. Toisin on muuttujien kanssa!
Huom! Nyt funktioiden esittelyjen perään täytyy muistaa laittaa puolipiste!