标题:静态链表数组的问题
取消只看楼主
xiedj
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2013-5-30
结帖率:66.67%
已结贴  问题点数:10 回复次数:1 
静态链表数组的问题
程序如下:
#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
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.256757 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved