Why do you need to
SDL_Surface* Surface, why can't you just use
* a pointer? I just don't understand why you need the pointer and you can't just use
Because the functions that create the surface return pointers.
Indeed it is much to do with the way things are passed around. Note
SDL_Surface* is exactly the same as
SDL_Surface * Surface and exactly the same as
SDL_Surface is a class which ... you know what... Cplusplus explains this better than I do. (Mostly because I'm still trying to work out pointers myself).
http://www.cplusplus.com/doc/tutorial/classes/ Check towards the bottom.