for( P=Root, Last=NULL; P != NULL; Last=P, P=P->Next )

この手のfor分は行数ケチスタイル?