首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于顺序表的有关问题

2013-01-05 
关于顺序表的问题#includestdio.h#includestdlib.h#define LIST_INIT_SIZE 10#define LISTINCREMENT 1

关于顺序表的问题
#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);
}

热点排行