C链表进程返回255(0xFF)执行时间2.144s

时间:2017-10-02 18:51:03

标签: c

我正在用C语言编写一个序列链表。

执行结果:进程返回255(0xFF)执行时间2.144s

该结构包含数组组件并使用' typedef' struct作为指针类型,它有什么问题,任何人都可以帮助我吗?

#include <stdio.h>
#define OK 1
#define ERROR 0
#define ERROR_EXIT -1
#define MAXSIZE 30

typedef int Status;
typedef int ElemType;
typedef struct
{
    ElemType data[MAXSIZE];
    int len;
}*SQLIST;

Status listInit(SQLIST L)
{

    int len = 10;
    int i = 0;
    for(;i<len;i++)
    {
        L->data[i] = i;  // There is problem here
    }

    L->len = 10;
    return OK;
}

Status listShow(SQLIST L)
{

    return OK;
}

int main()
{
    SQLIST L;
    listInit(L);
    printf("%d\n",L->len);
    return OK;
}

1 个答案:

答案 0 :(得分:2)

您应该将结构定义为:

typedef struct
{
    ElemType data[MAXSIZE];
    int len;
} SQLIST, *PSQLIST;

现在,您可以像L这样分配main()

PSQLIST L = malloc(sizeof(SQLIST));

在您完成此操作后不要忘记free(L),并将SQLIST的所有当前实例重命名为PSQLIST