Explaining this macro

I understand the use of the Macro. How is "for" instruction being implemented here to prevent non blocking code?

define runEvery(t) for (static uint16_t _lasttime;\

(uint16_t)((uint16_t)millis() - _lasttime) >= (t);\ _lasttime += (t)) Use: runEvery(100) { //some code }

The C/C++ preprocessor substitutes that ridiculous long expression everywhere in your program that runEvery( ) appears.

Same as for any other #define.

It is not clear how the for loop countrol variable is being initialised.

OK, I figured it out I was looking for something that was more complicated than it is. I have never used a "for" loop in this way.