for the for loop

for ( ; *source!='\0'; source++)

what is the purpose of the semicolon in the for loop ?

thank you!

(1) The language specification requires them. (2) they separate initialization, condition, and increment statements.

in a normal loop you would have for( i = 0; i < n; i++) but in your code the semicolon simply states that it doesnt matter what the first section( i = 0 ) is.

[edit] What AD said. lol.

All of the sections are optional, so we sometimes end up with this: for(;;)