2016-10-17 12 views
-4

リンク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++; 
} 

私は実際にコーディングがうまくいかず、問題は非常に些細かもしれないと思います。しかし私はそれを見つけることができません。 私を助けてください。

+0

をあなたの質問にそれを明確にし、コメントしていない – YRRaBBit

+2

をコンパイルしながら、「動作を停止」されます。 –

+0

どこで何をしようとすると、どのエラーメッセージが表示されますか? –

答えて

0

この試してみてください。エラー

NODE *node=createNode(data); 
LIST *list=createList(); 
pushFront(list, data); 

とcreateNodeでNewNodeを(返却する)

関連する問題