注册 登录
编程论坛 C语言论坛

请帮帮忙!谢谢!

makoki 发布于 2020-03-30 10:19, 1583 次点击
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>

typedef struct Node
{
    int data;
    struct Node * pNext;
}NODE, *PNODE;

PNODE create_list(void);
void traverse_list(PNODE pHead);

int main(void)
{
    PNODE pHead = NULL;

    pHead = create_list();//create_list():创建一个单链表
    traverse_list(pHead);

    return 0;
}

PNODE creat_list(void)
{
    int len;
    int i;
    int val;

    PNODE pHead= (PNODE)malloc(sizeof(NODE));//生成一个头结点
    if(NULL == pHead)
    {
        printf("分配失败,程序终止!");
        exit(-1);
    }

    PNODE pTail = pHead;
    pTail->pNext = NULL;


    printf("请输入需要生成的链表节点的个数:len = ");
    scanf("%d", &len);

    for (i = 0; i<len; i++)
    {
        printf("请输入第%d个节点的值:", i+1);
        scanf("%d", &val);

        PNODE pNew= (PNODE)malloc(sizeof(NODE));
        if(NULL == pNew)
        {
            printf("分配失败,程序终止!");
            exit(-1);
        }

        pNew->data = val;
        pTail->pNext = pNew;
        pNew->pNext = NULL;
        pTail = pNew;
    }
    return pHead;
}

void traverse_list(PNODE pHead)
{
    PNODE p = pHead->pNext;

    while(NULL != p)
    {
        printf("%d", p->data);
        p = p->pNext;
    }
    printf("\n");

    return;
}

编译的时候没有出错,进行下一步build时,出了这样一个:
list.obj : error LNK2001: unresolved external symbol "struct Node * __cdecl create_list(void)" (?create_list@@YAPAUNode@@XZ)
Debug/list.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
请问是是什么原因呢?
4 回复
#2
forever742020-03-30 11:01
那个函数没有定义
是因为你定义它时偷工减料了
少敲了字母
#3
lin51616782020-03-30 11:01

PNODE create_list(void);
PNODE creat_list(void)
{
    int len;


拼写错误
#4
wmf20142020-03-30 11:02
参考2、3楼回答

[此贴子已经被作者于2020-3-30 11:04编辑过]

#5
makoki2020-03-30 12:52
谢谢!
1