标题:静态链表数组的问题
只看楼主
xiedj
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2013-5-30
结帖率:66.67%
已结贴  问题点数:10 回复次数:5 
静态链表数组的问题
程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 6
#define MAX_SIZE 100
typedef char Elemtype[N];
#define Linefeed printf("\n")
typedef struct
{
    Elemtype data;
    int cur;
}node,SLinklist[MAX_SIZE];//定义结构体节点node,数组SLinklist[100]
SLinklist creat_slist()
{
    char s1[N];
    SLinklist s;
    node * p=s;//定义指针p指向数组首地址(但编译时出现错误信息:error C2090: function returns array)

    int i,j;
    int len;
    char ch1;
    do
    {
        printf("请输入静态链表的长度:len=");
        if(len<0 || len>=100)
        {
            printf("你输入的len 有误!\n");
            printf("是否继续输入!(y,n):");
            fflush(stdin);
            scanf("%c",&ch1);
        }
        if(ch1=='n')
        {
            printf("你选择退出输入!\n");
            printf("程序终止!\n");
            exit(-1);
        }
    }while(ch1!='n');
    s[0].data[0]='\0';
    s[0].cur=1;
    printf("请输入静态链表的%d个元素:\n",len);
    for(i=1;i<=len;i++)
    {
        printf("请输入第%d个元素的字符串:",i);
        fflush(stdin);
        gets(s1);
        strcpy(s[i].data,s1);
        s[i].cur=i+1;
    }
    s[i--].cur=0;
    return p;
}
void traverse_list(SLinklist s)
{
    int i;
    i=s[0].cur;
    printf("静态链表输出如下:\n");
    while(i)
    {
        printf("%s ",s[i].data);
        i=s[i].cur;
    }
    Linefeed;
}
int main(void)
{
    node * s;
    s=creat_slist();
    traverse_list(s);
    return 0;
}
这是我个人的理解,不明白错误的具体原因,希望有人把这个地方说清楚点,谢谢!
搜索更多相关主题的帖子: function include returns 
2013-10-13 22:29
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
得分:3 
主要问题是在typedef的理解上。楼主可以看看资料,有详细解释

好好学习,天天想上
2013-10-13 23:04
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
得分:3 
你都没说你的问题是什么,就贴出一堆代码,何解?

楼上说的正确

思考赐予新生,时间在于定义
2013-10-14 16:23
xp0213
Rank: 7Rank: 7Rank: 7
来 自:湖北武汉
等 级:黑侠
威 望:1
帖 子:210
专家分:522
注 册:2011-10-26
得分:3 
2013-10-14 20:02
icanbestrong
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:100
专家分:138
注 册:2013-3-13
得分:3 
你没说清楚,还有个人觉得Elemtype应该是具体数据类型,比如int或什么的
2013-10-14 20:14
xiedj
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2013-5-30
得分:0 
求解  node * p=s;//定义指针p指向数组首地址(但编译时出现错误信息:error C2090: function returns array) 这句话错误的原因
2013-10-17 10:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-421843-1-1.html




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

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