I think that my only problem now is collision detection. How to detect floor while jumping etc...
To help you out with giving advice, my map system is like this:
I'm using tiles. There is a BMP file with all the tiles' textures in it, and I have a variable "tile" that's array of TSDL_Rect (one "tile" = one tile).
When reading out the map from a text file, I do it like this - if it finds ' ', then it just increases the x coordinate of destination rect (and there is an array of destination rect, one for each tile). If it finds '1', then it blits that tile to the map surface at destination rect and so on.

So how do I detect the floor? I think that checking every frame if player y coordinate is the same as tiles' (and if it is, then if x coordinates fit) is a really bad idea.