高手帮忙.数据结构(C语言)的线性表问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 16:11:35
#include "stdio.h"
#include "string.h"
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef struct{
int * elem;
int length;
int listsize;
}SqList;
SqList * L;

void InitList( SqList * LQ){
(*LQ).elem = (int *)malloc(LIST_INIT_SIZE*sizeof(int));
if (! (*LQ).elem) exit(0);
(*LQ).length = 0;
(*LQ).listsize = LIST_INIT_SIZE;
}
void CreatSqList(SqList * LQ){
int i;
for (i=1;i<=(*LQ).length;i++){
//此处代码需要自己编写
}
}
void main(){
InitList(L);
printf("please input length:\n");
scanf("%d",&(*L).length);
……//此处代码需要自己编写
getch();
}

就会问自己编写代码的地方...我写的怎么都不对呢?
希望高手说明一下道理.谢谢.
我把我自己写的答案写这里吧.
1.scanf("%d",(*QL).elem[i-1];
2.int i;
printf("please input elem:\n");
CreatSqList(L);
for(i=1;i<=(*L).length;i++)
{

首先
scanf("%d", (*QL).elem[i-1]; 改成
scanf("%d", & (*LQ).elem[i-1] );
其次 的2.段处
printf("&d,",*(*L).elem[i-1]); 改成
printf("%d,", (*L).elem[i-1]);

然后 compiler 就可以过了
但是
int main(){ 之后最好加
L = (SqList *)malloc( sizeof(SqList) );
既然你宣告的是指标,那总得给记忆体空间

之后应该是你想要的了