顺序表初始化有长度限制吗,怎么回事啊
#define LIST_INIT_SIZE 50 // 线性表存储空间的初始分配量
这里把它设为58就运行出错,为什么?
示例
#include<string.h>
#include<process.h> /* exit() */
#include<stdio.h> /* EOF(=^Z或F6),NULL */
#include<malloc.h> /* malloc()等 */
#define LIST_INIT_SIZE 50 // 线性表存储空间的初始分配量 这里把它设为58就运行出错,为什么?
#define LIST_INCREMENT 1 /* 线性表存储空间的分配增量 */
typedef struct
{
char *name[10];
char *phonenum[15];
int length;
int listsize;
}dhbsList;
void InitList(dhbsList *la)
{
int i;
for(i=0; i<LIST_INIT_SIZE; ++i){
la->name [i]=(char*)malloc(10*sizeof(char));
if(!la->name[i] ) {printf(" 操作失败! \n");exit(-2); }
}
for(i=0; i<LIST_INIT_SIZE; ++i){
la->phonenum [i]=(char*)malloc(15*sizeof(char));
if(!la->phonenum [i]) { printf(" 操作失败! \n");exit(-2); }
}
la->length=0;
la->listsize=LIST_INIT_SIZE;
}
void main(){
int i;
dhbsList L;
InitList(&L);
i=0;
printf("%d",i);
}
高人出手啊!!