注册 登录
编程论坛 数据结构与算法

线性表 的内存分配问题,不知道错在哪里。

追寻XT 发布于 2016-10-01 21:33, 2320 次点击
程序代码:
#include <stdio.h>
#include <stdlib.h>

#define  LISTSIZE      100
#define  LISTINCREMENT 10
#define  Status   int
#define  True 1
#define  False 0

//元素和线性表类型定义

typedef struct {
     int  elem;
}ElemType;   //元素类型定义

typedef struct{
     ElemType *listbase; //存储空间基地址   

     int      length;    //当前长度

     int      listsize;     //线性表所占空间

}LinkList;


//线性表函数定义与实现


//初始化线性表
Status InitList(LinkList *L){
    L->listbase=(ElemType*)malloc(LISTSIZE*sizeof(ElemType));
    if(L->listbase==NULL) {
         return False;
    }

    L->length=0;//初始长度为0
    L->listsize= LISTSIZE;

    return 1;
}//InitList






















































void main(){
   

    LinkList  *L;
    InitList(L);
}
4 回复
#2
追寻XT2016-10-01 21:34
L->listbase=(ElemType*)malloc(LISTSIZE*sizeof(ElemType));这句报错,不知道怎么改。
#3
xzlxzlxzl2016-10-01 22:05
main函数修改如下:
void main()
{
    LinkList  L;  //定义一个指针变量则只有一个指针变量空间,并没有为结构体开辟空间,指针此时没有明确指向,属无意义指针
    InitList(&L);
}
#4
追寻XT2016-10-01 22:21
回复 3楼 xzlxzlxzl
你分析的对,但是这个程序怎么就可以?
只有本站会员才能查看附件,请 登录
#5
追寻XT2016-10-01 22:24
回复 3楼 xzlxzlxzl
明白了,谢谢。
1