リンクされたリストを作成しましたが、ノードの値を出力しようとしたときに、NULLをバインドとして使用したときに機能しませんでした。例:リンクされたリスト - ポインタ
#include <iostream>
typedef struct Node;
typedef Node* Node_ptr;
struct Node
{
int i;
Node_ptr next;
};
int main()
{
Node_ptr ptr, head;
ptr = new Node;
head = ptr;
// load
for(int j = 0; j < 4; j++)
{
ptr->next = new Node;
ptr->i = j;
ptr = ptr->next;
}
// print
ptr = head;
while(ptr->next != NULL)
{
std::cout << "print: " << ptr->i << std::endl;
ptr = ptr->next;
}
}
ただし、このコードを実行すると、コードはwhileループで無限ループに陥ります。 リンクされたリストが5ノードだけであることは決して理解できません。なぜそれが起こるのか理解できません。
有効なCまたはC++コードではありません。セミコロンや行方不明の 'typedef'、'} 'がありません... –
NULLをチェックしていますが、どこに設定しましたか? – tinman
そしてそれを修正したら、デバッグをする必要があります。 –