/*创建一个顺序表*/
#include <stdio.h>
#include <stdlib.h>
typedef int Status;
typedef int ElemType;
#define OK 1;
#define ERROR -1;
#define OVERFLOW -2;
#define LIST_INIT_SIZE 100;
#define LISTINCREMENT 10;
typedef struct { //存储结构
ElemType *elem;
int length;
int listsize;
}Sqlist;
Status InitList_Sq(Sqlist *L){ //创建空的线性表
(*L).elem = (ElemType*)malloc(LIST_INIT_SIZE * sizeof(ElemType));
if( !((*L).elem ))
return OVERFLOW;
(*L).length = 0;
(*L).listsize = LIST_INIT_SIZE;
return OK;
}
void main()
{
Sqlist L;
int i;
if( InitList_Sq(&L) == OVERFLOW) printf("ERROR");
else
{
printf("please input the L number:"); //赋值
for(i = 0; i < L.listsize; i++)
{
scanf("%d", &L.elem[i]); L.length++;
/搞不懂,这里为什么是L.elem[i],为什么不是L.elem,elem是一个指针,但没定义它是一个数组指针啊。*/
}
printf("The L is:");
for (i = 0; i <L.listsize; i++)
printf("%d ", L.elem[i]);
}
}
调试问题:
Compiling...
12345.C
d:\tc20\12345.c(21) : error C2143: syntax error : missing ')' before ';'
d:\tc20\12345.c(21) : error C2059: syntax error : ')'
d:\tc20\12345.c(21) : error C2100: illegal indirection
d:\tc20\12345.c(36) : error C2143: syntax error : missing ')' before ';'
d:\tc20\12345.c(36) : error C2059: syntax error : ')'
d:\tc20\12345.c(38) : error C2181: illegal else without matching if
执行 cl.exe 时出错.
12345.exe - 1 error(s), 0 warning(s)
找了一个晚上没发现问题在哪,请帮忙指点。。。。。。。。。。。。。。。