读书人

用VS2010写C语言数据结构遇到有关问题

发布时间: 2013-03-27 11:22:42 作者: rapoo

用VS2010写C语言数据结构遇到问题
本帖最后由 chenkaiyuan1993 于 2013-03-23 17:14:49 编辑 VS2010 ,文件结尾为.c,实现顺序线性表的一个功能。编译的时候提示“错误 1 error C2275: “ElemType”: 将此类型用作表达式非法”

VC6.0中无错

#include <stdio.h>
#include <stdlib.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;


#define LIST_INIT_SIZE 10
#define LISTINCREMENT 4

typedef int ElemType;

typedef struct SqList
{
ElemType * elem;
//表的初始长度
int length;
//表的初始存储容量
int listsize;
}SqList;

Status ListInsert_Sq(SqList *L, int i, ElemType e){
//判断插入位置i是否合法
if (i < 1 || i > L->length + 1)
return ERROR;

//判读存储空间是否已满
if (L->length >= L->listsize){
ElemType * newbase = (ElemType *)realloc(L->elem, (L->listsize + LISTINCREMENT) * sizeof(ElemType));

if (!newbase)
exit(OVERFLOW);

L->elem = newbase;
L->listsize = L->listsize + LISTINCREMENT;
}
//q指向第i个元素
ElemType *q = &(L->elem[i - 1]);
//p指向最后一个元素
ElemType *p;
//从最后一个位置开始移动
for (p= &(L->elem[L->length - 1]); p >= q; p--) {
*(p + 1) = *p;
}

*q = e;
L->length++;
return OK;
}


求教!!! c 数据结构
[解决办法]
typedef int Status;


#define LIST_INIT_SIZE 10
#define LISTINCREMENT 4

typedef int ElemType;

改成

typedef int Status;
typedef int ElemType;

#define LIST_INIT_SIZE 10
#define LISTINCREMENT 4

之后试试。

读书人网 >C语言

热点推荐