这个 C for 循环的终止条件是什么

what is the termination condition for this C for loop

我找到了链接 code 并发现了这个 for 循环,这对我来说有点奇怪。如果有人能向我解释这个循环的语法,我将不胜感激。 制造

void patch(Ptrlist *l, State *s)
{
    Ptrlist *next;
    
    for(; l; l=next){
        next = l->next;
        l->s = s;
    }
}

这个for循环

for(; l; l=next){

等同于

for(; l != NULL; l=next){

for(; l != 0; l=next){

即执行for循环,直到控制表达式等于0。