valorizzati == che tu gli abbia assegnato un valore.

No, qui fai un controllo

l->dato.id==x

ti chiedi se il valore di x sia uguale (==) a quello di l->dato.id.

non confondere l'operatore di assegnamento e quello di confronto