qq_43655869 2018-11-09 16:53 采纳率: 0%
浏览 875

顺序表已经声明类型如何初始化?

首先 错误提示如下:
Run-Time Check Failure #3 - The variable 'L' is being used without being initialized.

代码如下(省略Status.h):
#include
#include
#include

#define ListSize 250 //可以存储250个数据
#define Increasing 50 //后期每次增加50个数据

typedef int Elemtype;
typedef struct
{
Elemtype *elem;
int length; //目前储存元素的个数
int listsize; //可以储存的元素个数
}SqList;

Status InitList(SqList &L);
Status InsertList(SqList &L,int i,Elemtype e);

Status InitList(SqList &L)
{
L.elem=(Elemtype*)malloc(ListSize*sizeof(Elemtype));
if(!L.elem) exit(FALSE);
L.length=0;
L.listsize=ListSize;
return OK;
}

Status InsertList(SqList &L,int i,Elemtype e)
{
if(iL.length+1) return ERROR ;
if(L.length>=L.listsize)
{
L.elem=(Elemtype*)realloc(L.elem,(ListSize+Increasing)*sizeof(Elemtype));
if(!L.elem) exit(OVERFLOW);
L.listsize+=Increasing;
}
Elemtype *q=&(L.elem[i-1]); //q现在位于第i个元素的位置
int j=L.length-1; //从n开始倒退着像后移动一个地址
Elemtype *p=&(L.elem[L.length-1]); //p代表第n个元素
for(j;j>=i-1;j--) *(p+1)=*p;
*q=e; //地址不变,数值变化
L.length++;
return OK;
}

void main()
{
SqList L;
Status InitList(SqList &L);
Elemtype a[10]={1,2,3,4,5,6,7,8,9,10};
L.elem=a;
int i;
for(i=0;i<=L.length;++i)
printf("%d",L.elem[i]);
L.length=i;
printf("OK\n");
}

  • 写回答

1条回答 默认 最新

  • qq_43655869 2018-11-09 16:54
    关注

    #include
    #include
    #include

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?