数据结构实验 要用顺序表实现栈 我想实现Push时栈空间不足就再申请 所以使用了realloc函数 以下代码编译通过 (gcc) 可是当我把栈元素类型换为double时 就出错了 郁闷 debug发现在第二次 realloc时出错 #include <stdio.h> #include <stdlib.h> #include <string.h> #define LIST_INIT_SIZE 1 //初始化时申请的大小 #define LIST_INCREMENT 1 //每次增加申请的大小 typedef int ElemTypeOpnd; //栈元素的数据类型 typedef struct { ElemTypeOpnd *top; int stacksize; ElemTypeOpnd *base; }SqOpnd; void Init_SqOpnd(SqOpnd *L); void PushOpnd(SqOpnd *L,ElemTypeOpnd e); ElemTypeOpnd GetOpndTop(SqOpnd L); ElemTypeOpnd GetOpndTop(SqOpnd L) { if(L.top==L.base) { printf("stack is null/n"); return; } |
与realloc(): invalid next size:斗争了一天 总结
最新推荐文章于 2022-11-19 23:49:46 发布
本文总结了作者在遇到realloc()函数报错"invalid next size"的问题时,经过一天排查得出的结论:该错误通常由于尝试分配的空间小于原有空间导致。检查代码并确保正确调整内存大小即可解决问题。
摘要由CSDN通过智能技术生成