i++ means take the value of i, add one to it, and save it back to i. Or, more simply, it increases i by 1.
for (int i=0; i<sizeof(Red); i++) {
pinMode(Red[i], OUTPUT);
}
sets all of the relevant pins to outputs (which is good). Similarly,
for (int i=0; i<sizeof(Red); i++)
digitalWrite(Red[i], ledState);
}
Sets all of the relevant pins to ledState. So they'll always be the same value. When do you want each one to change?
Random comments:
You shouldn't say sizeof(Red), since if you make Red an array of ints, it will return a number twice as big as you're expecting. The common way to do it is to say sizeof(Red)/sizeof(Red[0].
previousMillis and interval should both be of type unsigned long, since that's what millis() returns.
Try to indent better. Each { should have an extra indent on the following line, and each } should have one less indent. This makes it easier to see which if matches with what code and such.