#include <iostream>
#include <string>
using namespace std;
struct Node{
Node *next;
int data;
};
int main(){
Node* head = NULL;
int data;
cin >> data;
Node*m = head;
while(data >0){
cout <<"enter a data";
cin >> data;
m -> data = data;
m -> next = m;
}
while(m -> next != NULL){
cout << m -> data << endl;
}
return 0;
}
以下は、値が 0 より大きい場合に値を取り、連結リストを作成する単純なコードです。負の値を入力すると、while ループが終了し、値が出力されます。
ただし、コードは、データの入力を求めたときとデータを取得した後にセグメンテーション違反を引き起こします。解決できなかったのですが、原因は何ですか?