请问链表加入一个节点,为什么第一种方式没有成功,第一种方式要怎么修改才行?第二种方式可以
#include
#include
#include
struct Student
{
int id;
char name[20];
Student *next;
};
Student m_head={0} ;
//第一种方式
void add(Student *obj)
{
Student *p=m_head.next;
while(p)
{
p=p->next;
}
p=obj;
obj->next=NULL;
}
//第二种方式
//void add(Student *obj)
//{
// Student *p=&m_head;
// while(p->next)
// {
// p=p->next;
// }
// p->next=obj;
// obj->next=NULL;
//}
int main()
{
Student *obj=(Student *)malloc(sizeof(Student));
obj->id=1;
strcpy(obj->name,"yang");
add(obj);
return 0;
}