```cpp
#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();
traverse_list(pHead);
return 0;
}
PNODE create_list(void)
{
PNODE pHead = (PNODE)malloc(sizeof(NODE));
if (NULL == pHead)
{
printf("分配失败, 程序终止!\n");
exit(-1);
}
PNODE pTail = pHead;
pTail->pNEXT = NULL;
int len, value;
printf("要得到几个节点\n");
scanf_s("%d", &len);
for (int i = 0; i < len; i++)
{
scanf_s("%d", &value);
PNODE pNew = (PNODE)malloc(sizeof(NODE));
if (NULL == pNew)
{
printf("分配失败, 程序终止!\n");
exit(-1);
}
pNew->data = value;
pNew->pNEXT = NULL;
pTail->pNEXT = pNew;
pTail = pNew;
}
return pHead;
}
void traverse_list(PNODE pHead)
{
PNODE p = pHead->pNEXT;
while (p != NULL)
{
printf("%d\n", p->data);
p = p->pNEXT;
}
}