リンクADTを作成中にtest.c(メインコードをテストするためのコンパイル)エラーが発生しました 問題はpushFront関数であると思います。C:dev C++、リンクされたリストのノードを作成するためのコード
私はエラーを取り除くために多くの方法を試しましたが、エラーメッセージは変わりません。ヘッダーファイルをコンパイルする際にエラーがなく、プッシュフロントなしでメインのcファイルが生成されます。
私を助けてください。
#include <stdio.h>
#include <stdlib.h>
#include "ListADT.h"
int main()
{
LIST* LIST=createList();
char* data ;
NODE* NODE=createNode(data);
pushFront(LIST, data);
return;
}
エラーを起こすtest.cファイルは次のとおりです。 私はこのファイルをコンパイルすると、 "test.exeは動作を停止しました" 実際に私は私の言葉でprogrammを実行するので、正確なメッセージinenglishを知らない。
以下は、NODEとLISTを定義する構造体です。
//List ADT Type Defintions
typedef struct node
{
void* dataPtr;
struct node* link;
} NODE;
typedef struct
{
int count;
NODE* pos;
NODE* head;
NODE* rear;
} LIST;
以下は、私がテストしているヘッダファイルListADT.hの一部の機能です。 私はエラーの原因がプッシュフロントだと思います。
//=================CreatNode======================
NODE* createNode(void* dataInPtr)
{
NODE* NewNode;
NewNode = (NODE*) malloc (sizeof (NODE));
NewNode->dataPtr = dataInPtr;
NewNode->link=NULL;
}
//========insert a new node to the front of the list===========
void pushFront (LIST* pList, void* dataInPtr)
{
NODE* NewNode;
NewNode = createNode(dataInPtr);
if(pList->count==0)
{
pList->head = NewNode;
pList->rear = NewNode;
}
else
{
NewNode->link = pList->head;
pList->head = NewNode;
}
pList->count++;
}
私は実際にコーディングがうまくいかず、問題は非常に些細かもしれないと思います。しかし私はそれを見つけることができません。 私を助けてください。
をあなたの質問にそれを明確にし、コメントしていない – YRRaBBit
をコンパイルしながら、「動作を停止」されます。 –
どこで何をしようとすると、どのエラーメッセージが表示されますか? –