*.h files are header files, they only contain function prototypes and some other definitions, but no implementation of your functions. (I don't use header files at all.) *.c files contain the implementation of your prototypes. You can write your whole program in *.c files like you did with *.wdl.
"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual