You can create small command-line apps with gcc, but for anything larger (such as a GUI app), you'll need a Mac.
I'd recommend going for a Mac Mini. If money's tight, you could get a refurb or second hand model. If you're committed and absolutely sure you want to sell iPhone applications, you might consider it an investment.
Programming isn't for everyone, so you might want to try something like BASIC first to see how it is. If you're going to invest in a Mac for iPhone app development, you need to be sure you really want to do this and won't get bored in a month or two. Developing applications is boring. The apps themselves may be cool, but the programming side of things is often tedious. You're creative for a few minutes whilst you think of how the app could work, then you have to write it all down in an obscure instruction language for hours/days/weeks.