初学者问一个C语言的问题,关于链表。

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:11:02
链表中有个:p1=p2=head=(struct stu *)malloc(sizeof(struct stu))的语句,其中head干嘛要分配空间呀?还有,(struct stu *)是什么意思啊?我们的课本说得太不详细了。哪位帮帮忙!多谢!

HEAD是链表上第一个结构的指针,不分配空间,你就不能使用Head啦。
(struct stu *)表示要分配的空间的大小,符合 stu 结构的大小。

与其说是给head分配空间不如说是让它指向具体位置更合适,指针实际上是内存单元的别名而已,光有个张三而没有具体的人是不行的,另外head指向这里的原因是这是头节点(我都有点汗这个理由,head算是链表的一个代表吧,就像你们班长,呵呵),至于(struct stu *),是你定义的一个结构体,这类结构体叫stu,你去掉struct没有影响的