To understand significance of header file. I would like to ask you a question. Why do we choose high level language to develop software instead of low level language?
Answer is we choose high level language like C language to develop software. Because there are lots of things that can be achieved by only calling some function provided by related language compiler. One the other hand in low level language every things of programming is manually done by programmer. For example if you want to generate output on screen using assembly language you will have to set many register value which is very complicated. Whereas in C language you will have to use inbuilt function printf.