野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10979|回复: 1

数据结构

[复制链接]
发表于 2017-7-21 15:25:35 | 显示全部楼层 |阅读模式
现在在弄数据结构,写的第一个程序就出现了问题,说这个函数PNODE create_list(void);的PNODE是illegal,,代码在下面,,求大神赐教!!
  1. #include <stdio.h>
  2. #include <malloc.h>
  3. #include <stdlib.h>

  4. typedef struct Node
  5. {
  6.         int data; //数据域
  7.         struct Node * pNext;//指针域
  8. }NODE, * PNODE; //NODE等价于 struct Node,PNODE等价于 struct Node *

  9. PNODE create_list(void);
  10. void traverse_list(PNODE pHead);

  11. int main(void)
  12. {
  13.         PNODE pHead = NULL; //等价于struct Node * pHead = NULL; int pHead = NULL;
  14.         pHead = create_list();/* create_list()的功能:
  15.                                                      创建一个非循环单链表,
  16.                                                      并将该链表的头结点的
  17.                                                      地址赋值给了pHead */  
  18.         traverse_list(pHead);
  19.         return 0;
  20. }

  21. PNODE create_list(void)
  22. {
  23.         int len;//用于存放有效节点的个数
  24.         int i;
  25.         int val;//用于临时存放用户输入的结点的值

  26.         //分配了一个不存在有效数据的头结点
  27.         PNODE pHead = (PNODE)malloc(sizeof(NODE));
  28.         if(NULL == pHead)
  29.         {
  30.                 printf("分配失败,程序终止!\n");
  31.                 exit(-1);
  32.         }

  33.         PNODE pTail = pHead;
  34.         pTail->pNext = NULL;

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

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

  41.                 PNODE pNew = (PNODE)malloc(sizeof(NODE));
  42.                 if(NULL == pNew)
  43.                 {
  44.                         printf("分配失败,程序终止!\n");
  45.                         exit(-1);               
  46.                 }
  47.                 pNew->data = val;
  48.                 pTail->pNext = pNew;
  49.                 pNew->pNext = NULL;
  50.                 pTail = pNew;
  51.         }
  52.         return pHead;
  53. }
  54. //遍历
  55. void traverse_list(PNODE pHead)
  56. {
  57.         PNODE p = pHead->pNext;
  58.          while(NULL != p)
  59.          {
  60.                 printf("%d", p->data);
  61.                 p = p->pNext;
  62.          }
  63.         printf("\n");
  64.         return 0;
  65. }
复制代码

回复

使用道具 举报

发表于 2017-7-24 09:26:01 | 显示全部楼层
有什么问题啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-16 10:46 , Processed in 0.026927 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表