这个就是实参和形参的问题。可以直接传入指针。 你说的typedef成指针是一种方式。也可以还是typedef struct xxx List;然后传入List*类型的参数。 效果是一样的。
前面的理解正确。是指针的话,要“通过指针修改目标值”才能实现,就是要用p->len或(*p).len操作,其中p是指向结构体的指针。