I am trying to figure out how headers and other c files besides main work so i can reduce my the size of my main.c code for better readability and error fixing. Also i want to use some external code that which has custom headers and their accompanying c files. I just am not understanding the underlying processes here. Im working on an embedded system that responds to the modbus protocol and am trying to get freemodbus working but in coming into typedef errors, etc. and would ultimately like to make my own stack but am getting lost in understanding the code. I am an amature at c but have been given an opportunity at work to learn an new discipline, so if there are books and other resources you can recommend to a noob that would be greatly appreciated.