I know this is a ridiculously stupid question, but how do you work with multiple C files in compiling and linking them into one executable? I am making a program, and I have a file called randomNumber.h and another called randomNumber.c and another called main.c . In randomNumber.h, I have my random number function's prototype. In randomNumber.c, I have my random number function's implementation. In main.c, I pass parameters to my random number function, and I get errors about how my function was undefined. I am using Visual Studio 2012, all of this is in one project, and it is the only project in the solution, and I built the solution. How do you manage a C project split up between files? How do you split it up?