线性表的困惑
我的代码如下:
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,为什么照样能输出值呢?
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,为什么照样能输出值呢?
...全文
相关推荐
数据结构(第二版)配套课件及答案
数据结构(第二版)配套课件及答案 人民邮电出版社 李云清 杨庆红 揭安全 编著 编著答案加上优秀课件是学习这门课的利器!
2021年给数据结构初学者:跨过算法和程序之间的鸿沟.docx
2021年给数据结构初学者:跨过算法和程序之间的鸿沟.docx
数据结构 严蔚敏 课后习题答案.zip
数据结构 严蔚敏 课后习题答案.zip
很好的课件哦~零基础学数据结构
学习很长一段时间数据结构,感觉很难后来网上找了这个课件感觉对自己很大的帮助
华中科技大学数据结构实验项目_面向大一计算机专业学生的数据结构实验代码与学习资源库_包含线性表栈队列树图等数据结构实现算法分析与优化示例实验报告模板常见问题解答学习.zip
华中科技大学数据结构实验项目_面向大一计算机专业学生的数据结构实验代码与学习资源库_包含线性表栈队列树图等数据结构实现算法分析与优化示例实验报告模板常见问题解答学习.zip


