If you can write the program using only the standard C libraries, then theoretically it should already be cross-platform compatible, as the C library itself is designed to be totally portable. That said, you're going to run into issues with sockets, which unless I'm mistaken are usually implementation specific.
Linux (ubuntu especially) isn't really that hard to use, but the lack of a real IDE for development usually throws folks off. What I recommend is that you compile using Cygwin for windows, and try out a code editor called CodeBlocks while you do this. Cygwin will compile your code against linux libraries instead of windows ones (and then emulate those libraries using a windows .dll when you run it) so it's a good way to become familiar with your limitations. You should be able to set up a CodeBlocks project under windows, and then open that same project under the Linux version of CodeBlocks and test out your compile.
Cross-platform code isn't terribly easy to write, I admit, but it's more than possible with a bit of effort.