In C you don't have Boolean values, so you need something to make it true all the time (in this case, anything that's not zero is true)
You don't need a variable for that. Just write "while(1)" or "for(;
" (I prefer the latter, but it doesn't matter). In C++, though, I seem to have acquired the habit of writing "while(true)", probably because "while True:" is what I write in Python.
Also, bool has been part of C since 1999. Just include stdbool.h. Granted, Visual C++ still hasn't gotten around to implementing the C99 standard (let alone the new C11 standard), but I think any hardcore C programmers these days would be using gcc or clang anyway.
You're right, it was early in the morning and I was still asleep

In any case, for backwards compatibility I always use either the macro TRUE/FALSE from stdlib or just a magic number. I'm
not by any means a hardcore C programmer, I just have to teach an engineering class every once in a blue moon and have to teach these guys using the C89 standard. My language by trade is C#; prior to that it was Java.
... I didn't know we had actual programmers on here. Now my basic java education seems miniscule...
Hey learning a language is just like how you make it to Carnegie Hall: practice. Syntax isn't hard thanks to Google and StackOverflow, it's just figuring out 1) what you
want to program and 2)
how you're going to program it.