How many photos can a 4gb card hold?

That depends on the Megapixels of your camera or what you're shooting in. Example: 8MP would hold 1024 photos, while a 5MP would hold 1600.