You can put the typedefs in a header file and include that in the many cpp files you're going to create. I guess how to split things up comes from experience, but you can try to keep things together in groups. Like in my pumpkin source there's a math file, a geometry file, a sprite file, a file for each fx etc. Each one of these has a header .h file that declares the types and functions that should be accessible to other part of the program. I like to keep things that are platform specific (bmp loader) separate from things that don't depend on the OS (maths) from things that depend on a specific API (OpenGL). It's not always totally achievable, but it makes it a load easier to port code to other platforms - eg. I ported ps2yabasic to the PSP in an afternoon.
In visual studio, you can right click the project in the solution browser and select 'Add New' and then pick C++ or .H files and they'll be added to your project, then just cut and paste bits 'til it works.
Jim