读书人

关于顺序表的有关问题

发布时间: 2013-01-05 15:20:39 作者: rapoo

关于顺序表的问题
#include<stdio.h>
#include<stdlib.h>
#define LIST_INIT_SIZE 10
#define LISTINCREMENT 10

typedef struct SqList
{
int *elem;
int length;
int listsize;
};

int InitList_Sq(SqList *L)
{
L->elem=(int*)malloc(sizeof(int)*LIST_INIT_SIZE);
printf("1");
if(L->elem==NULL) return 0;
L->length=0;
L->listsize=LIST_INIT_SIZE;
return 1;
}

void insert(SqList *L)
{
int i;
int *p;
p=L->elem;
for(i=0;i++;i<10)
{
*(L->elem)=i;
L->elem++;
}
for(i=0;i++;i<10)
{
printf("%d \n",p++);
}
}
void main()
{
struct SqList *L;
InitList_Sq(L);
insert(L);
free(L);
}



通过编译 但是运行不了 估计是内存分配的问题 求各位大侠指教指教!!
[解决办法]

L->elem=(int*)malloc(sizeof(int)*LIST_INIT_SIZE);//L都没有初始化噢

[解决办法]

void main()
{
struct SqList *L;
L = (SqList*)malloc(sizeof(SqList)); //增加对L的初始化
InitList_Sq(L);
insert(L);
free(L->elem); //增加对L->elem的释放
free(L);
}

读书人网 >C语言

热点推荐