When looped, memory address not being displayed sequentially while skipping intermediate memory
Since i is declared as int it will take 4 bytes to store each value of i. Since each address corresponds to a single byte, it will take 4 locations to store an int. 

In your case,

It will take memory range 002AF948 - 002AF94B to store 0 (0x00000000)

It will take memory range 002AF94C - 002AF94F to store 1 (0x00000001)

And so on...