Shit, you're right. x is declared inside the loop, so it doesn't exist until the loop begins execution.
Technically, I suppose you could say the compiler will allocate memory for x without assigning a value before the loop is executed and... I'm understanding what you mean now, I think.