打印结构成员的值有问题

时间:2017-05-05 03:20:39

标签: c++ struct

我有用于链接列表的数据结构,但我无法打印每个节点的值。我得到exited with non-zero status。这是代码:

#include <iostream>

using namespace std;

 struct ListNode {
     int val;
     ListNode *next;
     ListNode(int x) : val(x), next(NULL) {}
 };


 int main()
 {
   ListNode* l1;
   l1->val = 1;

   cout << l1->val << endl;

   return 0;
 }

1 个答案:

答案 0 :(得分:3)

l1是一个未初始化的指针;在使用指针之前,必须将其指向有效对象:

#include <iostream>                                                          

using namespace std;                                                         

struct ListNode {                                                            
    int val;                                                                 
    ListNode *next;                                                          
    ListNode(int x) : val(x), next(NULL) {}                                  
};                                                                           


int main()                                                                   
{                                                                            
    ListNode* l1 = new ListNode(0);  // allocate memory                      
    l1->val = 1;                                                             

    cout << l1->val << endl;                                                 

    delete l1;  // deallocate memory                                         

    return 0;                                                                
}