C语言数据结构顺序表初始化程序

不知道哪里出了问题,求指教~!#include<stdio.h>#include<stdlib.h>#defineOK1#defineERROR-1#defineMAX_... 不知道哪里出了问题,求指教~!
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR -1
#define MAX_SIZE 100
typedef int Status;
typedef int ElemType;
typedef struct sqlist
{
ElemType Elem_array[MAX_SIZE];
int length;
}SqList;

Status Init_SqList(sqlist *L)
{
L->Elem_array=(ElemType*)malloc(MAX_SIZE*sizeof(ElemType));
if(!L->Elem_array)return ERROR;
else{L->length=0;return OK;}
}
展开
 我来答
玻璃麦田bd
2013-11-14 · TA获得超过451个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:271万
展开全部
你的SqList结构包含的元素是一个100个int类型的数组,和一个int变量。
在初始化函数中,首先参数sqlist *L,应该改成Sqlist *L
然后你给L->Elem_array进行赋值操作是不对的,因为Elem_array是数组首地址,是个常量,不能进行赋值操作。而且本身结构里面定义的是数组元素,所以已经有空间了,根本不需要再另外申请内存。如果需要动态申请内存,就把Elem_array声明为指针类型:ElemType *pElem_array
孝稷36
2013-11-14 · TA获得超过142个赞
知道答主
回答量:85
采纳率:0%
帮助的人:57.9万
展开全部
你定义了一个结构体L,已经给它初始化了MAX_SIZE个空间,然后又初始化,这不是矛盾吗,
你定义类型的时候,赋一个初始指针就可以了
追问
该怎么改?初学者,求指教
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式