大学生
最后登录1970-1-1
在线时间 小时
注册时间2016-8-10
|
现在在弄数据结构,写的第一个程序就出现了问题,说这个函数PNODE create_list(void);的PNODE是illegal,,代码在下面,,求大神赐教!!- #include <stdio.h>
- #include <malloc.h>
- #include <stdlib.h>
- typedef struct Node
- {
- int data; //数据域
- struct Node * pNext;//指针域
- }NODE, * PNODE; //NODE等价于 struct Node,PNODE等价于 struct Node *
- PNODE create_list(void);
- void traverse_list(PNODE pHead);
- int main(void)
- {
- PNODE pHead = NULL; //等价于struct Node * pHead = NULL; int pHead = NULL;
- pHead = create_list();/* create_list()的功能:
- 创建一个非循环单链表,
- 并将该链表的头结点的
- 地址赋值给了pHead */
- traverse_list(pHead);
- return 0;
- }
- PNODE create_list(void)
- {
- int len;//用于存放有效节点的个数
- int i;
- int val;//用于临时存放用户输入的结点的值
- //分配了一个不存在有效数据的头结点
- PNODE pHead = (PNODE)malloc(sizeof(NODE));
- if(NULL == pHead)
- {
- printf("分配失败,程序终止!\n");
- 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("分配失败,程序终止!\n");
- 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 0;
- }
复制代码
|
|