| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 993 人关注过本帖
标题:C语言循环链表的定义,头节点动态申请空间,为什么总是报错!
只看楼主 加入收藏
想世界
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-6-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
C语言循环链表的定义,头节点动态申请空间,为什么总是报错!
#include<stadio.h>
#include<stalib.h>
#include<malloc.h>

typedef struct node
 {
    int data;
    struct node *next;
}*head,*p,*q;


int people(int n)
   {
     int k;
     *head=(node*)malloc(sizeof(struct node));  // 这句话报错。
     head->data=1;
     p=head;
     for(k=2;k<=n;k++)
        {
          q=(node*)malloc(sizeof(struct node));
          q->data=k;
          p->next=q;
          }
      q->next=head;
     }

int ysf(int n;int m;int *p)
   {
     int i;
     for(i=1,i<=n);i++)
        {
          for(j=1;j<m-1;j++)
            {
              p=p->next;
             }
           q=p->netx;
           p->next=q->next;
           printf("%3d",q->data);
         }
    }

int main()
    {
      int n,m;
      printf("请输入n和m:");
      scanf("%3d,%3d",n,m);
      people(n);
      ysf(n,m,*head);
     paused("system");
     }
}
编译时总是报错:
 syntax error before "people"
 In function `people':
syntax error before "head"
 syntax error before '=' token
 syntax error before '->' token
等等。。。。。

感谢~~
搜索更多相关主题的帖子: people include C语言 动态 空间 
2014-06-08 22:01
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:20 
你typedef理解错了


[fly]存在即是合理[/fly]
2014-06-09 03:31
想世界
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-6-8
收藏
得分:0 
请问,什么是tepydef理解错了?应该怎么理解?具体代码应该怎么写?
2014-06-17 12:03
想世界
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2014-6-8
收藏
得分:0 
回复 2 楼 azzbcc
请问,typedef 应该怎么理解?具体代码应该怎么改呢
2014-06-19 09:29
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
去掉typedef

你百度先


[fly]存在即是合理[/fly]
2014-06-19 14:31
zxgcc0210
Rank: 2
等 级:论坛游民
帖 子:5
专家分:11
注 册:2014-7-5
收藏
得分:0 
在你的程序里,使用了typedef,从而使得*head是一个结构体名,而不是一个结构体变量,你不能给一个结构体名进行赋值。
   你这样写试试:
   typedef struct node
{
    int data;
    struct node *next;
} Node;

int people(int n)
   {
     int k;
     Node *head,*p,*q;//声明结构体变量
     *head=(node*)malloc(sizeof(Node));  // 看看改成这样还报错不?
     head->data=1;
     p=head;
2014-07-06 19:44
快速回复:C语言循环链表的定义,头节点动态申请空间,为什么总是报错!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016632 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved