struct ListNode { int val; struct ListNode *next; };
int main()
{
ListNode *head1;(1)
cout<<head->val;
这段程序编译没有问题,但是运行会出现段错误。
原因: (1)这里只是定义了一个指针,而没有给指针赋初值,所以指针的初值默认为空,空值是没有结构体成员的。
应该改成 ListNode *head1=new ListNode;
!!!引起重视,搞得自己调试了蛮久
struct ListNode { int val; struct ListNode *next; };
int main()
{
ListNode *head1;(1)
cout<<head->val;
这段程序编译没有问题,但是运行会出现段错误。
原因: (1)这里只是定义了一个指针,而没有给指针赋初值,所以指针的初值默认为空,空值是没有结构体成员的。
应该改成 ListNode *head1=new ListNode;
!!!引起重视,搞得自己调试了蛮久