线性表的困惑
我的代码如下:
void SqList_init(SqList list_a){
int i ;
for(i=0;i<list_a.iLength;i++)
printf("%d\n",list_a.iElem[i]);
printf("\n" );
}
main()
{
int i ;
Elemtype inset_e ;
SqList list_a;
list_a.iElem = 0;
list_a.iLength = 0;
list_a.iListsize = 0;
printf("请输入初始化线性表当前长度:");
scanf("%d" , &list_a.iLength);
printf("请输入当前元素的存储长度:");
scanf("%d" , &list_a.iListsize);
list_a.iElem = (Elemtype *) malloc (list_a.iListsize*sizeof(Elemtype));
if(!list_a.iElem){
printf("can not malloc !");
exit(0);
}
SqList_init(list_a);
//printf("请输入要插入的位置的值,目前最大位置为%d",list_a.iLength);
//scanf("%d",&i);
//SqlList_insert(list_a,i,inset_e);
}
如果我输入初始化长度为0,开辟的内存空间list_a.iElem 值为2,为什么照样能输出值呢?