一个顺序表程序

来源:百度知道 编辑:UC知道 时间:2024/06/17 22:29:33
下面是我找的一个顺序表的基本功能实现,可是最后为什么不能输出呢?
麻烦帮忙解释下这句是什么意思?typedef int ElemType;
因为在没有这句之前,总是提示我说错误error C2228: left of '.len' must have class/struct/union type
这是为什么?

#include <iostream>
#include <malloc.h>
using namespace std;
#define MAXSIZE 100
typedef struct
{
int data[MAXSIZE];
int len;
}SqList;

typedef int ElemType;

void Initlist(SqList *&L)
{
L=(SqList *)malloc(sizeof(SqList));
L->len=0;
}
int listinsert(SqList *&L,int i,ElemType e)
{
int j;
if(i <1||i>L->len+1)
return 0;
i--;
for(j=L->len;j>i;j--)
L->data[j]=L->data[j-1];
L->data[i]=e;
L->len++;
return 1;
}

int GetLength(SqList &L)
{
return L.len;
}

void DispList(SqList *L)
{
int i;
for(i=0;i <L->len;i++)
cout < &l

今天最后回答一个问题--!
首先typedef int ElemType的意思很简单的
就是一个宏定义 意思就是用ElemType来代替int
以后出现用ElemType定义的数据类型其实就是int类型
就是int 和ElemType是无条件等同的
ElemType不是系统的关键词,所以不能用来地定义数据类型,除非用了上面的方法来定义ElemType